Зашел сегодня в Яндекс.Вебмастер и уведл несколько 404-х ошибок. Захожу, смотрю подробности и вижу, что робот яндекса ругается на следующие урлы, которых нет: site.ru/razdel/function.include site.ru/razdel2/function.include site.ru/razdel3/function.include и так по некоторым разделам сайта. Разумеется, таких урлов нет на сайте, но вопрос - откуда робот Яндекса на них набрел первоначально? Что это может быть вообще? Первый раз столкнулся с подобным.
не понял, можешь пояснить? у меня физически нет на сайте подобных ссылок, документов, папок и т.п. - как эти инклюды вообще зацепились яндексовским ботом?
Gustavo, смотри. я пишу скрипт: Code: <?php include 'rtyuijhkslfsdf'; ?> Запускаю, что мне говорит php: Code: Warning: include(rtyuijhkslfsdf) [function.include]: failed to open stream: Нет такого файла или каталога in /var/www/localhost/htdocs/test/test.php on line 2 Warning: include() [function.include]: Failed opening 'rtyuijhkslfsdf' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in /var/www/localhost/htdocs/test/test.php on line 2 а что это реально в html? Code: <br /> <b>Warning</b>: include(rtyuijhkslfsdf) [<a href='function.include'>function.include</a>]: failed to open stream: Нет такого файла или каталога in <b>/var/www/localhost/htdocs/test/test.php</b> on line <b>2</b><br /> <br /> <b>Warning</b>: include() [<a href='function.include'>function.include</a>]: Failed opening 'rtyuijhkslfsdf' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in <b>/var/www/localhost/htdocs/test/test.php</b> on line <b>2</b><br /> то есть когда пхп вываливает такую ошибку, видишь там ссылка на function.include. ну и яндекс думает, что это обычная ссылка, и идет по ней. то есть у тебя на сайте где-то ошибка с инклудом. вроде понятно объяснил)
В настройках php где-то прописать можно, чтоб ссылка не в пустое место шла, а на мануалы(на официальный сайт или зеркала, в том числе на собственном сайте). То есть, чтоб было не PHP: <b>Warning</b>: include(rtyuijhkslfsdf) [<a href='function.include'>function.include</a>]: failed to open stream: , а PHP: <b>Warning</b>: include(rtyuijhkslfsdf) [<a href='http://php.net/function.include'>function.include</a>]: failed to open stream: Прописать можно php.net, а можно и собственное локальное хранилище мануалов php сделать.
Нужно исправить ошибки и нужно выключить их отображение. Иначе вы сами же предостваляете злоумышленнику Path disclosure-уязвимость