Как запретить все запросы, кроме как ajax'ом с того же сайта?
Здравствуйте.
Есть страница, отправляющая код верификации клиенту по указанному номеру телефона. Сама отправка осуществляется по нажатию кнопки на сайте, а кнопка ajax'ом шлет запрос на файл code.php, например.
Смс-ки - штука платная, как уберечся от того, что люди просто начнут фигачить простые post-запросы с указанием телефона на файл code.php?
Спасибо!
Вообще, есть http параметр HTTP_X_REQUESTED_WITH, который при (из различных библиотек) ajax запросе существует и равен xmlhttprequest. Но не во всех библиотеках такой есть (в jQuery.ajax точно есть), поэтому возможно придется указать его явно. Но "хакерам" ничего не стоит передавать его через post запрос самим, поэтому лучше сделать на странице одноразовый csrf токен
Даже если вы сделаете запросы с этого же домена, то что мне мешает кинуть запрос из консоли на вашем же сайте. Проверка должна быть на сервере, в файле code.php.