Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: При запросе существующего файла выдать статус 404

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Uchkuma
Отправлено: 23 Января, 2011 - 21:19:41
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




В папке сайта (а скорее всего даже в нескольких и с различной вложенностью), доступной для веб-пользователей, есть конфигурационный файл php.ini. Для его защиты в файле .htaccess можно прописать следующую директиву:
CODE (apache):
скопировать код в буфер обмена
  1. <Files php.ini>
  2. deny from all
  3. </Files>

В этом случае браузер получит статус-код 403 Forbidden. Требуется же, при запросе файла php.ini, выдавать статус 404 Not Found. Т.е. чтобы пользователь думал, что файла не существует.
Такой вариант работать не будет:
CODE (apache):
скопировать код в буфер обмена
  1. <Files php.ini>
  2. Header set Status "404 Not Found"
  3. </Files>
 
 Top
JustUserR
Отправлено: 25 Января, 2011 - 17:04:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Uchkuma пишет:
Такой вариант работать не будет
В качестве возможного варианта реализации предоставленной задачи допустимо использование специального управляющего CGI-приложения запуск которого совершаетя для конфигурированных элементов URL-адреса - в частности в указанном случае установка требуемого HTTP-кода транспортируемого документа ответа при работе в CGI-интерфейса обеспечивается на основе поля Status


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ch_chov
Отправлено: 25 Января, 2011 - 17:22:09
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Как вариант, с помощью mod rewite производить внутренний редирект на какую-нибудь не существующую страницу.
RewriteRule ^php.ini$ non-exist
 
 Top
Uchkuma
Отправлено: 25 Января, 2011 - 18:38:17
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Спасибо!
Я тоже думал про вариант с внутренним перенаправлением, но надеялся, что можно будет обойтись без mod_rewite. Знаю, что заголовки можно отправлять и подменять, а вот статус-код...
 
 Top
JustUserR
Отправлено: 27 Января, 2011 - 11:19:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Uchkuma пишет:
Но надеялся, что можно будет обойтись без mod_rewite
В качестве возможного варианта реализации предоставленной задачи допустимо использование специального управляющего CGI-приложения запуск которого совершаетя для конфигурированных элементов URL-адреса - в частности в указанном случае установка требуемого HTTP-кода транспортируемого документа ответа при работе в CGI-интерфейса обеспечивается на основе поля Status
CODE (perl):
скопировать код в буфер обмена
  1. #!/usr/bin/perl
  2. if($ENV{"SCRIPT_NAME"}=~/^nph-/is) {print "HTTP/1.1 404 Not Found\n";}
  3. else {print "Status: 404 Not Found\n";}
  4. print "Content-Type: text/html\n\n";
  5. print "<!-- Buffer set -->"x512;
  6. print "<h1>Error 404</h1><br>This page is not found on server";
  7.  


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Apache и другие веб-серверы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB