Защита от прямого открытия php-файла

Тема в разделе "PHP", создана пользователем yeaahhh, 20 авг 2011.

Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Друзья, как защитить .php-файл, который инклюдится в index.php, от прямого открытия?
    При аякс подгрузке -
    PHP:
    if ((isset($_SERVER['HTTP_X_REQUESTED_WITH'])) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
    {
    if (
    eregi("^$SERVER_ROOT",$HTTP_REFERER)) 
    {

    }}
    А как при инклюде?
    Заранее спасибо!
     
  2. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    как ты себе представляешь вычитку пхп файла? он сразу исполнится и будет выведен результат
     
  3. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39
    Общий принцип приблизительно - только в index.php либо подключаемом из него ini-файле определяем константу, а во всех зависимых модулях проверяем ее наличие:
    PHP:
    #index.php
    define('NOHACK''nohack');
    #module1.php
    if (!defined('NOHACK')) { die('Invalid context'); }
    if (
    NOHACK=='nohack')
     {
      
    #code....
     
    }
    else
     {
      echo 
    "hacking attempt";
     }
    примерно так,
    + не забываем о правах, если не дать права на исполнение и неправильно настроить апач - в некоторых случаях можно получить исходники модулей
     
    yeaahhh нравится это.
  4. }I{eka

    }I{eka Постоялец

    Регистр.:
    7 июн 2011
    Сообщения:
    81
    Симпатии:
    34
    Добавить в файл вызов которого напрямую нужно запретить
    PHP:
    <?php
    if ( basename($_SERVER['SCRIPT_FILENAME']) == 'filename.php' )
      die (
    'Доступ запрещен!');
    ?>
     
    yeaahhh нравится это.
  5. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    Создай .htaccess в папке с php файлом:
     
    yeaahhh нравится это.