Генераторы страниц для ошибок сервера(404 и проч)

Статус
В этой теме нельзя размещать новые ответы.
Понял. Спасибо.

Видел у в некоторых примерах на некоторые ошибки в htaccess
сделан редирект на гугл или мелкософта. Как понимаю это защита
от скриптов-роботов и от атак? Какие ошибки лучше так застраховать?

(сорри если вопрос уже не в этот раздел)
 
защита от атак в htaccess?
это вряд-ли - здесь больше похоже на отфутболивание нежелательных посетителей куда подальше, например по диапазону IP или useragent'у
смысла страховать ошибки нет ведь все равно доступа к сайту не будет,
обработка ошибок это для тех, кого мы потерять не хотим - для нужных посетителей
 
в любой C-panel, что предоставляет хостер, существует раздел в котором указываешь переадресацию на страницу вместо ошибки
 
В .htaccess прописываем для ошибок направление обработчика или мессагу...

Пример:

ErrorDocument 500 "Oops... We have a problem. :("
ErrorDocument 404 /404.html
ErrorDocument 403 Для просмотра ссылки Войди или Зарегистрируйся
 
расширим возможности скрипта обработчика:
PHP:
<?php 
$id = $argv[0]; 
$id = abs(intval($id)); 
if (!$id) $id = 404; 
// ассоциативный массив кодов и описаний 
$a[401] = "Требуется авторизация"; 
$a[403] = "Пользователь не прошел аутентификацию, доступ запрещен"; 
$a[404] = "Документ не найден"; 
$a[500] = "Внутренняя ошибка сервера"; 
$a[400] = "Неправильный запрос"; 
// определяем дату и время в стандартном формате 
$time = date("d.m.Y H:i:s"); 
// эта переменная содержит тело сообщения 
$body =<<<END 
Запрошенный Вами URL: <b>http://$SERVER_NAME$REQUEST_URI</b><br /> 
Возможно интересующую Вас информацию можно найти по старому адресу:<br /> 
<a href="http://kiiut.fatal.ru$REQUEST_URI" target="_blank"><b>http://kiiut.fatal.ru$REQUEST_URI</b></a><br /> 
<br /> 
Ваш IP: <b>$REMOTE_ADDR</b><br /> 
Ваш браузер: <b>$HTTP_USER_AGENT</b><br /> 
Текущее время сервера: <b>$time</b><br /> 
END;
if ($HTTP_REFERER) $body .= "Вы пришли со страницы: <b>$HTTP_REFERER</b><br />\n"; 
if ($HTTP_X_FORWARDER_FOR) $body .= "Ваш IP через прокси: <b>$HTTP_X_FORWARDER_FOR</b><br />\n"; 
?> 
<h1><i><?=$id?></i> <?=$a[$id]?></h1> 
<p><?=$body?></p> 
<?=$GLOBALS['SERVER_SIGNATURE']?>
 
  • Заблокирован
  • #16
rgteam, зачем всё так усложнять? Человеку просто нужно обработать ошибки :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху