@muhasa

Как запретить все запросы, кроме как ajax'ом с того же сайта?

Здравствуйте.
Есть страница, отправляющая код верификации клиенту по указанному номеру телефона. Сама отправка осуществляется по нажатию кнопки на сайте, а кнопка ajax'ом шлет запрос на файл code.php, например.

Смс-ки - штука платная, как уберечся от того, что люди просто начнут фигачить простые post-запросы с указанием телефона на файл code.php?
Спасибо!
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 3
Vlad_IT
@Vlad_IT
Front-end разработчик
Вообще, есть http параметр HTTP_X_REQUESTED_WITH, который при (из различных библиотек) ajax запросе существует и равен xmlhttprequest. Но не во всех библиотеках такой есть (в jQuery.ajax точно есть), поэтому возможно придется указать его явно. Но "хакерам" ничего не стоит передавать его через post запрос самим, поэтому лучше сделать на странице одноразовый csrf токен
Ответ написан
BRAGA96
@BRAGA96
Даже если вы сделаете запросы с этого же домена, то что мне мешает кинуть запрос из консоли на вашем же сайте. Проверка должна быть на сервере, в файле code.php.
Ответ написан
Комментировать
if($_SERVER["HTTP_X_REQUESTED_WITH"] === "XMLHttpRequest"){
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы