Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что означает это выражение..(конструкция защиты).
 
 автор: serjinio   (16.05.2008 в 01:26)   письмо автору
 
 

if (eregi('cms.php',sv('PHP_SELF')))die('Access Denied');
если( eregi--регулярное выражение ,функция sv ...PHP_SELF---это URL-путь к файлу, т.е. к самой себе)
при невыполнении этого условия выводится Access Denied
по кускам все понятно,но помогите перевести это на русский язык ,для чего эта защита нужна и как она работает,те суть алгоритма...я так понял что через PHP_SELF передаются еще какие-то переменные
Заранее спасибо за помощь

   
 
 автор: cheops   (16.05.2008 в 12:13)   письмо автору
 
   для: serjinio   (16.05.2008 в 01:26)
 

Если идёт прямое обращение к файлу cms.php, т.е. к нему пытаются обратиться непосредственно через браузер, работа скрипта останавливается (die). Если же этот файл включается любым другим PHP-файлом - скрипт работает как ни в чём не бывало.

PS Это достаточно распространённая практика, правда обычно она реализуется либо через константу, либо через файл .htaccess. Однако в представленном подходе тоже ничего крамольного нет.

   
 
 автор: serjinio   (17.05.2008 в 08:27)   письмо автору
 
   для: cheops   (16.05.2008 в 12:13)
 

Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования