Простой вопрос безопасности: PHP включает - PullRequest
2 голосов
/ 08 февраля 2010

Мой пример index.php

include 'class.php';
$x = new class;
include $_GET['page'].'.php'; //checks if isset file_exists and in_array of valid file names before including;

Я хочу убедиться, что доступ к включенной странице невозможен. Ниже приведены некоторые примеры кода, который я помещаю в первую строку кода для файлов, включаемых в index.php.

Я пробовал: (если не включен в index.php die)

if($_SERVER['SCRIPT_NAME']!='/index.php') die;

и (если класс, определенный в индексе, не установлен die);

if(!isset($x)) die;

Какой ваш любимый способ сделать страницы, включенные в php, недоступными при просмотре напрямую?

Ответы [ 2 ]

4 голосов
/ 08 февраля 2010

define() и defined().

Или просто поместите их вне корня документа.

2 голосов
/ 08 февраля 2010
if($_SERVER['SCRIPT_FILENAME'] == __FILE__) {
     die("Go Away");
 }

Извините, обновил, чтобы быть правым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...