Ваш отдел безопасности хочет, чтобы Вы сделали это, чтобы заставить сервер ввести тяжелее для идентификации. Это может уменьшить заграждение автоматизированных инструментов взламывания и сделать более трудным для людей ворваться в сервер.
В IIS, открытом свойства веб-сайта, затем переходят к вкладке HTTP Headers. Большинство заголовков X-может быть найдено и удалено сюда. Это может быть сделано для отдельных сайтов, или для всего сервера (измените свойства для объекта веб-сайтов в дереве).
Для заголовка Сервера на IIS6 можно использовать инструмент URLScan Microsoft для удаленного это. Порт 80 программного обеспечения также делает продукт под названием ServerMask, который будет заботиться об этом, и намного больше, для Вас.
Для IIS7 (и выше), можно использовать URL, Переписывают Модуль для перезаписи заголовка сервера или пробела, это - значение. В web.config (на сайте или сервере в целом), добавьте это содержание после того, как URL Переписывает Модуль, был установлен:
Можно поместить пользовательское значение в переписать действие, если Вы хотели бы. Этот образец получил от этой статьи, которая также имеет другую большую информацию.
Для заголовка MVC, в Global.asax:
MvcHandler.DisableMvcResponseHeader = true;
Отредактированный 12.11.2019 для обновления информации IIS7, так как ссылка блога TechNet была больше не действительна.
Можно установить виртуальный хост по умолчанию со следующим согласно документам Apache:
RedirectMatch 404 /.*
http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
Сообщите мне, не работает ли это.
Я недавно имел ту же проблему и не мог найти решение до сих пор. Наилучший вариант оказывается использованием
Redirect 404 /
или (как предложено ранее)
RedirectMatch 404 /.*
директива в (первом) vhost по умолчанию, который, очевидно, должен быть не использован. vhost может потенциально быть 'поддельным', таким образом, что-то как следующее в начале Вашего vhost файла конфигурации:
<VirtualHost *:80>
ServerName default #fake name, unused domains default here
Redirect 404 /
</VirtualHost>
<VirtualHost *.80>
ServerName example.tld
........
</VirtualHost>
Запахи как взлом все же.
Это могло бы помочь: Я пытался решить подстановочную проблему субдомена, которую я установил сам ранее и нашел некоторый пример кода от webmasterworld (от всезнающего jdMorgan), который, кажется, производит поведение, которое Вы после (404 на несуществующем содержании):
#jdMorgan, again
#http://www.webmasterworld.com/apache/3906038.htm
# If the request is not for the the main domain or the www subdomain
rewriteCond %{HTTP_HOST} !^(www\.)?foo\.com
# get the requested subdomain name into variable %2
rewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.foo\.com
# and if not already rewritten to subdomain's subdirectory
rewriteCond $1 !^subdomains/
# internally rewrite to prefix "/subdomains/<subdomain-name>/" to the client-requested URL-path
rewriteRule ^(.*)$ /subdomains/%2/$1 [L]
Если файлы существуют в /subdomains/bar
, и я перешел к http://bar.foo.com
, дисплеи содержания. Если я перешел к http://baz.foo.com
, Я получаю a 404 Not Found
(и дополнительные информационные 404, поскольку я не указал ErrorDocument) - это также появляется в error_log
.
Это то, что Вы после? Используя это позволяет Вам видеть недоступное содержание в error_log
, или действительно создайте 404 страницы только для получения 404ed запросы и вход их.
(Снова, у Вас есть jdMorgan на WMW для благодарности за это, не меня. Тот человек действительно является шрифтом знания!)