|
|
|
| Стандартный способ отловить ajax запрос выглядит примерно так:
isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest';
|
Корректен ли будет такой способ:
Посылаем ajax методом POST (к примеру) и одним из параметров передаем _ajax=true
В php проверяем
$_ajax = isset($_POST['_ajax']) ? $_POST['_ajax'] : false;
|
Вопрос в том, корректно ли использовать такой прием. Мне кажется да, но хотелось бы услышать мнение экспертов | |
|
|
|
|
|
|
|
для: Zezst
(30.10.2013 в 21:36)
| | Узнать, что это ajax можно собственно и без заголовка. Если вас интересует в плане надежности от CSRF-атаки, то это уже года два как благополучно обходят. | |
|
|
|
|
|
|
|
для: confirm
(30.10.2013 в 23:22)
| | Спасибо за мнение.
Меня интересует не безопасность сего предприятия. Просто, наконец-то пришлось ловить аякс на сервере, стал гуглить, и 99% решений предлагает первый вариант.
Мне сие показалось не очень удобным, и появилась мысля передать параметром флаг ($_POST[‘ajax’]) | |
|
|
|
|
|
|
|
для: Zezst
(31.10.2013 в 00:19)
| | Передавайте, главное, как всегда, проверять источник. А все ajax запросы можно передавать на один скрипт, так что и проверять асинхронный ли запрос или нет, надобности как таковой и не будет. | |
|
|
|
|
|
|
|
для: confirm
(31.10.2013 в 00:55)
| | >А все ajax запросы можно передавать на один скрипт
О!
Классная идея. Что-то протупил. И чего я сам не додумался? | |
|
|
|