if(!defined('CONST')) {
exit('Хакер?');
}
Ну или таким:
if(!defined('CONST')) exit('Хакер?');
Мне всегда не нравилась эта строчка, и совсем
defined('CONST') or die;
и все Никаких тебе if и восклицательных знаков. Вполне аккуратно и в одну строчку
Вот
Спустя 6 часов, 49 секунд (3.11.2010 - 10:46) ИНСИ написал(а):
kirik я видел такую защиту на многих cms. Не мог бы в двух словах сказать, как и что надо делать?
Спустя 1 минута, 38 секунд (3.11.2010 - 10:47) DmitryOpalev написал(а):
Если константа (вроде она) есть - все хорошо (гуд), если нет, обрываем скрипт... да?
Спустя 9 минут, 44 секунды (3.11.2010 - 10:57) sergeiss написал(а):
Красивое решение +1
По лаконичности напоминает известное "со щитом или на щите"
По лаконичности напоминает известное "со щитом или на щите"
Спустя 8 часов, 33 минуты, 45 секунд (3.11.2010 - 19:31) kirik написал(а):
Цитата (DmitryOpalev @ 3.11.2010 - 02:47) |
да? |
Ага
Цитата (welbox2 @ 3.11.2010 - 02:46) |
Не мог бы в двух словах сказать, как и что надо делать? |
Вот небольшой пример. Есть два файла:
1.php
$var = 1;
include('2.php');
2.php
echo $var;
Если вызвать файл 2.php, то мы получим нотис о несуществующей переменной, так как задается она только в файле 1.php. Чтобы запретить прямое обращение к скрипту 2.php и используется то, о чем я писал в первом посте.
1.php
define('OK', 1); // объявляем константу, которую будем проверять в других файлах
$var = 1;
include('2.php');
2.php
defined('OK') or die; // если константа объявлена (тоесть файл вызван инклюдом из файла, где эта константа объявлена), то продолжаем работу скрипта, ну а если константы нет - умираем
echo $var;
Спустя 35 минут, 4 секунды (3.11.2010 - 20:06) ИНСИ написал(а):
kirik супер объяснил, но почему у тебя стоит: include('1.php');? То есть он вставляет сам себя? Может там файл 2.php надо вставить?
Спустя 1 час, 25 минут, 39 секунд (3.11.2010 - 21:31) inpost написал(а):
welbox2
Опечатался, с кем не бывает =)
Опечатался, с кем не бывает =)
Спустя 27 минут, 26 секунд (3.11.2010 - 21:59) kirik написал(а):
Цитата (welbox2 @ 3.11.2010 - 12:06) |
Может там файл 2.php надо вставить? |
Ага, сори Поправил.
Спустя 22 минуты, 23 секунды (3.11.2010 - 22:21) ИНСИ написал(а):
kirik а я сижу и думаю ....
Большое спасибо! Очень познавательно и круто
Большое спасибо! Очень познавательно и круто