IIS: только белый список веб-сайта с ipSecurity - PullRequest
0 голосов
/ 06 мая 2019

Я бы хотел, чтобы мой сайт был доступен только по нескольким IP-адресам.Я добавил тег <ipSecurity>, но, похоже, его игнорируют.

Это мой текущий конфиг:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="PHP" />
            <add name="PHP" path="*.php" verb="*" modules="CgiModule" scriptProcessor="C:\PHP\5.4.0\php-cgi.exe" resourceType="File" requireAccess="Script" />
        </handlers>
        <defaultDocument>
            <files>
                <remove value="index.htm" />
                <remove value="index.html" />
                <remove value="index.asp" />
                <add value="index.html" />
                <add value="index.php" />
                <add value="index.asp" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="Detailed" />
    </system.webServer>

    <location path="Default Web Site">
        <system.webServer>
            <security>
                <ipSecurity allowUnlisted="false">
                    <add ipAddress="79.1.2.3" /> 
                </ipSecurity>
            </security>
        </system.webServer>
    </location>    
</configuration>

Но сайт доступен везде.

Если я добавлю <security> блок внутрь <system.webServer>, тогда без IP сможет увидеть сайт, даже не указанный в списке, получив 403.

Чтонеправильно?

1 Ответ

0 голосов
/ 07 мая 2019

Попробуйте добавить следующий код в файл web.config вашего сайта:

<system.webServer>
<security>
    <ipSecurity allowUnlisted="true">
        <add ipAddress="ip" allowed="true" /> <!--allow-->
        <add ipAddress="ip" allowed="false" /> <!--deny-->
    </ipSecurity>
</security>

отказать:

enter image description here

разрешить:

enter image description here

С уважением, Джалпа

...