Укрепление папки загрузки в IIS разрывает изображения - PullRequest
0 голосов
/ 01 июня 2018

Мой сайт загружает кучу изображений из папки загрузки, используя прямые URL-адреса, такие как:

http://www.example.com/wp-content/uploads/some.image.png

Я пытаюсь выяснить проблему с удаленным выполнением сценария,и одна из вещей, рекомендуемых на https://codex.wordpress.org/Hardening_WordPress, состоит в том, чтобы предотвратить выполнение скрипта в папке загрузки, используя файл .htaccess:

# Kill PHP Execution
<Files ~ "\.ph(?:p[345]?|t|tml)$">
   deny from all
</Files>

Мой сайт работает на IIS, поэтому для достижениятот же результат, я удалил обработчик PHP для папки загрузки и всех ее подпапок:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
        <handlers>
           <remove  name="php-7.1.7" />
        </handlers>
    </system.webServer>
</configuration>

Однако, если я использую файл web.config, загрузка изображения с использованием прямого URL приводит к ошибке http 500,Следовательно, темы не загружаются должным образом.

Как мне запретить выполнение сценариев PHP в папке загрузки, не прерывая статическую загрузку файлов?

Добавление <add name="StaticFile" /> ниже <remove name="php-7.1.7" /> делаетнет разницы.

1 Ответ

0 голосов
/ 01 июня 2018

Создайте файл web.config в папке загрузки и вставьте следующий XML:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers accessPolicy="Read"> 
         </handlers>
    </system.webServer>
</configuration>
...