Задать вопрос
@muhasa

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

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

Смс-ки - штука платная, как уберечся от того, что люди просто начнут фигачить простые post-запросы с указанием телефона на файл code.php?
Спасибо!
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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"){
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽