Курилка.co.ua Войти »
Orphus RSS kurilka.co.ua

Category

Archives

« Next Item:   Previous Item: »

PHP: Запрет доступа к подключаемым (include) файлам

Author wmas wmas | Category Category PHP

Здравствуйте, уважаемые читатели блога Курилка.co.ua. Недавно стал разбираться с кодом движка PHPNuke. Не думаю, что меня надолго хватит, но некоторые интересные решения стоят того, чтобы о них рассказать. Впрочем, решайте сами насколько всё это, может быть вам интересно и полезно.

В данной заметке я хотел бы поговорить о попытках несанкционированного доступа к подключаемым, через тот же include(), PHP-файл. В некоторых случаях это не столь уж и опасно, но если можно улучшить безопасность, то почему бы нет? Тем более, что метод очень прост и состоит всего из пары (а если серьёзно, то вообще из одной) строк в начале кода:

if ( stristr(htmlentities($_SERVER['PHP_SELF']), "filename.php") ) die();

Как вы видите, используется условие, в котором идёт проверка значения серверной переменной PHP_SELF. Для избежания попыток подстановки html-кода используется функции его (html-кода) преобразования в мнемоники htmlentities(). Далее, применяем, независимую от регистра, функцию stristr(), т.е. ищем в строке серверной переменной PHP_SELF подстроку с именем нашего PHP-файла (в наше примере это: filename.php). Получается так, что если идёт прямое обращение к PHP-файлу – срабатывает условие и выполняется функция die(), т.е. прекращение дальнейшей обработки кода.

Согласен, штука достаточно примитивная и наверное не всегда сможет противостоять хитрым атакам, но лучше что-то чем ничего. Впрочем, если вы знаете, более лучшее и интересное решение – всегда буду рад вашим комментариям. Спасибо за внимание.

Publish: Четверг Янв 8, 2009

2 Responses for "PHP: Запрет доступа к подключаемым (include) файлам"

feed for comments on this post

  • IR Комментарий #2147 author: IR Reply
    publish: Среда Фев 4, 2009 at 7:25 пп

    Просто сложить все такие файлы в одну папку и для нее сделать файл .htaccess с единственной строчкой — deny from all

  • wmas Комментарий #2148 author: wmas Reply
    publish: Среда Фев 4, 2009 at 7:59 пп

    2IR: hi! Да, действительно, можно применить и такой метод. Однако не всегда хостинг провайдер позволяет играть с .htaccess, да и ещё разные ситуации бывают :roll:


Popular links

Copyright © since 2006 Курилка.co.ua,
powered by WordPress