Создание php-файла на PHP - PullRequest
       28

Создание php-файла на PHP

0 голосов
/ 18 июля 2011

Я работаю над установщиком для моего проекта, и установщик создаст файл конфигурации.

У меня он работает на 99,99% нормально, но в этом файле я хочу проверить, чтобы гарантировать взломне может получить к нему прямой доступ, и этот код использует суперглобальный $ _SERVER, который при каждом запуске анализируется php, поэтому он нарушает логику, к которой я пытаюсь пойти.

кто-нибудь знает, что я могузаставить суперглобальный объект оставаться неизменным, как он есть, без его анализа или я должен переосмыслить свою логику и добавить ее в другом месте?

для тех, кто может захотеть увидеть код, вот он:

#Disable direct access.
if(!strcasecmp(basename($_SERVER['SCRIPT_NAME']),basename(__FILE__)) || !defined('accessed')){
    die('<string>No Direct access is allowed for this file.</string>');
}

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Если вы используете Apache (или любой другой сервер, совместимый с .htaccess), вам просто нужно создать файл .htaccess в папке, содержащей ваш файл конфигурации, содержащий следующее:

<Files config.php>
  deny from all
</Files>

запретить доступ к этому файлу через HTTP-запрос.

Подробнее см. с использованием файлов .htaccess .

1 голос
/ 18 июля 2011

Не используйте защиту в скрипте или .htaccess - просто напишите файл где-нибудь за пределами корня документа. Если вы не хотите, чтобы что-то стало доступным, не делайте это доступным.

Помещение в корень документа похоже на то, как ваш банк вешает в переднем окне мешки с надписью «не кради».

...