Закрыть от других

vanderv

Старатель
Регистрация
30 Май 2009
Сообщения
270
Реакции
12
Есть php файл на который приходит ajax запрос. Этот файл формирует важную инфу. Как обезопасить себя от других запросов? А то получится что любой желающий может кинуть запрос через curl. На сколько я знаю ajax запросы на другой домен посылать нельзя, поэтому смотрю в эту сторону.
 
Можно подделать refferer, подделать практически любые другие данные.
Рекомендую проверять $_SERVER['remote_addr'] и дополнительно использовать динамические хеши с заранее обусловленной солью.
 
Сессию проверять?
 
Код:
start_session();
$md5 = md5( "!(*?:*?:@##@%^" . microtime() . unqid() );
$_SESSION['hash_sec'] = $md5;
$sess= md5($_SERVER['remote_addr'] . $md5 );

HTML:
./ajax.php?sess={$sess}&param=value&...

Код:
start_session();
if( md5( $_SERVER['remote_addr'] . $_SESSION['hash_sec'] ) != $_REQUEST['sess'] ) die('Session error');

+ ко всему этому еще и куку прилепить...
 
  • Заблокирован
  • #5
Про сессию с своей солью, правильное решение.
Но обычно очень важная информация генерируется только для зарегистрированных пользователей сайта, не проще ли проверять авторизацию при отправлении запроса?
 
На сколько я знаю ajax запросы на другой домен посылать нельзя, поэтому смотрю в эту сторону.
Но никто не мешает аяксом обратиться к своему скрипту, который уже отправит запрос на другой домен. А в общем уже правильно записывать в сессию + куки.
И конечно закрыть доступ для гостей.
 
здесь только хорошая проверка входных данных и проверка доступа(пользователя) больше особо не придумаешь, можно конечно IP, Url, page и т.д., но это, если кто захочет мало чем поможет.
 
Назад
Сверху