• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь ajax запрос в ДЛЕ выдает Hacking attempt

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
хочу вывести зависимые списки на ajax. Отправляю json методом get (с id параметром). Обратно должен придти массив. А ответ сервера приходит "Hacking attempt!"
В обработчике (файл php, которому отправляется id через ajax) лежит код выборки записей из БД и формирование массива.
Я понимаю, что это защита DLE от прямого обращения к файлу. Но как решить данную проблему-то?
Вывод планируется как в админке, так и для пользователя.
 
Точка входа для AJAX не должна быть защищена от прямого вызова. Однако к ней должна быть привязана проверка авторизации.
 
Точка входа для AJAX не должна быть защищена от прямого вызова. Однако к ней должна быть привязана проверка авторизации.
это я уже понял... а можно конкретнее, что нужно написать в php файле? Я только практику набираю в этом деле...
 
PHP:
if( !defined( 'DATALIFEENGINE' ) OR !defined( 'LOGGED_IN' ) ) {
	die( "Hacking attempt!" );
}
Этот кусок кода запрещает прямое обращение... Его писать не надо. Ну и конечно, чтобы подключить сторонние файлы надо написать:
PHP:
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); //Настраиваем вывод ошибок
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false ); 
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );

define( 'DATALIFEENGINE', true ); //Разрешаем подключение файлов ДЛЕ
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -12 ) ); //Задаём папку скрипта (код верен для папки /engine/ajax/)
define( 'ENGINE_DIR', ROOT_DIR . '/engine' ); //Задаём папку ядра

include ENGINE_DIR . '/data/config.php'; //Подключаем конфиг
 
Еще подскажи, пожалуйста, что нужно для безопасности, типа куков, авторизации, уровня доступа и т.п.?
 
Стандартные проверки авторизации и прочее. Открой любой файлик из папки AJAX - там всё будет прописано, а имено:
1) Подгрузка конфига
2) Проверка логина
3) Проверка групп пользователей
 
Стандартные проверки авторизации и прочее. Открой любой файлик из папки AJAX - там всё будет прописано, а имено:
1) Подгрузка конфига
2) Проверка логина
3) Проверка групп пользователей
А как file-ajax.php при обращении к нему через POST создает сессию, проверку логинов и т.п.? К нему же не браузер обращается...
 
А кто ж к нему тогда обращается? :D К нему обращается браузер, но только не переходом по url, а через JavaScript... Но по сути, разницы нет. Обращение всё равно делает браузер и передаёт все необходимые заголовки, включая сессию и куки.
 
Назад
Сверху