Как перейти к index. php, когда имя экземпляра введено в раздел URL, но заблокировать доступ к файлам на основе расширения в файле Web.config? - PullRequest
0 голосов
/ 10 января 2020

У меня есть требование, когда я заблокировал доступ к файлам на основе расширения, используя строки ниже в файле Web.config для IIS.

<system.webServer>
   <security>
      <requestFiltering>
         <fileExtensions allowUnlisted="false">
            <add fileExtension=".php" allowed="true" />
            <add fileExtension=".js" allowed="true" />
            <add fileExtension=".css" allowed="true" />
            <add fileExtension=".png" allowed="true" />
            <add fileExtension=".jpg" allowed="true" />
            <add fileExtension=".gif" allowed="true" />
            <add fileExtension=".jar" allowed="true" />
         </fileExtensions>
      </requestFiltering>
   </security>
</system.webServer>

Но эти строки не позволяют приложению перейти к индексу. php (домашняя страница). Как решить эту проблему?

1 Ответ

0 голосов
/ 13 января 2020

Следуйте методу Лекса Ли, чтобы удовлетворить ваши требования. Кроме того, перезапись URL может предоставить другой способ заблокировать все незарегистрированные расширения на основе переменной {PATH_INFO}.

 <rule name="rewrite" enabled="true" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{PATH_INFO}" pattern="\.(js|php|css|png|jpg|gif|jar)$" negate="true" />
                    </conditions>
                    <action type="AbortRequest" />
                </rule>
...