У меня сейчас есть система входа, чтобы пользователи, не прошедшие проверку подлинности, не просматривали содержимое моего веб-сайта. Я могу подтвердить работу входа. Проблема, с которой я столкнулась сейчас, однако, связана с моим файлом web.config. Я могу заблокировать не проверенного пользователя от просмотра главной страницы (например, www.mysite.com), которая, в свою очередь, будет загружать index.php. Пользователь, однако, все равно может перейти на www.mysite.com/index.php, не введя в заблуждение, чтобы победить цель входа.Web.Config для блокировки всего веб-сайта
My web.config обрабатывает только главную страницу и любые .aspx-файлы, которые у меня есть в корне. Ниже мой код web.config. Я искал решение какое-то время, и havent нашел способ заставить web.config работать на весь сайт. Кроме того, он находится в корне (и мой сайт использует wordpress).
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation defaultLanguage="c#" debug="false" />
<customErrors mode="Off" />
<authentication mode="Forms">
<forms
name=".myCookie"
loginUrl="http://www.mysite.com"
domain="mysite.com"
protection="All"
timeout="120"
path="/"
requireSSL="false"
slidingExpiration="true"
/>
</authentication>
<authorization>
<allow roles="AA,BB" />
<deny users="*" />
</authorization>
<machineKey
validationKey="xxxxxxx"
decryptionKey="xxxxxxx"
validation="SHA1"
/>
<sessionState mode="Off" />
</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="index.php" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Любая помощь будет оценена, как я потратил довольно много времени на это, и я чувствую, как это должно быть простое решение. Также я запускаю IIS 7.
Чтобы подвести итог моему вопросу, мне нужен файл web.config, чтобы заблокировать доступ ко всем типам файлов (php, .txt и т. Д.), А не только к корневому URL и .aspx файлы.
Спасибо
В качестве обновления. Кажется, меня смутило system.web vs system.webserver. Поскольку я запускаю IIS7, я должен был разместить мои проверки в части веб-сервера в конфиге. – Jingles177