Назад | Перейти на главную страницу

Заблокировать доступ к каталогам в IIS, но разрешить доступ к конкретному файлу

Можно ли заблокировать доступ к каталогу через web.config в IIS (за исключением небольшого набора IP-адресов), но разрешить использование одного конкретного файла для всех.

Причина, по которой я спрашиваю, я хочу заблокировать каталог wp-admin в WordPress, но admin-ajax.php действительно должен быть доступен извне.

Спасибо.

Для справки в будущем это было решение:

<location path="wp-admin">
    <system.webServer>
        <security>
            <ipSecurity allowUnlisted="false">
    <clear/> 
                <add ipAddress="ipaddr" allowed="true" />
            </ipSecurity>
        </security>
    </system.webServer>
</location>

<location path="wp-admin/admin-ajax.php">
    <system.webServer>
        <security>
            <ipSecurity allowUnlisted="true">
            </ipSecurity>
        </security>
    </system.webServer>
</location>

Указанное решение требует, чтобы ipSecurity overrideModeDefault был установлен в значение Разрешить в applicationhost.config, иначе вы получите 500.19 - Внутренняя ошибка сервера с кодом ошибки 0x80070021

<section name="ipSecurity" overrideModeDefault="Allow" />