Каков наилучший способ обеспечить доступ к странице только через форму AJAX для ее обработки?

У меня есть форма AJAX на index.php, которая обрабатывается через order.php.

Как я могу обеспечить доступ к order.php через форму AJAX перед обработкой, чтобы я мог игнорировать запросы прямого доступа к order.php?

Я попытался использовать переменную сеанса и убедиться, что переменная сеанса, установленная в index.php, установлена ​​​​перед обработкой order.php, но если кто-то сначала перейдет к index.php, а затем напрямую перейдет к order.php, он все равно будет обрабатывать order.php даже если это было не через форму AJAX.


person ProgrammerGirl    schedule 17.04.2019    source источник
comment
Вы действительно не можете. И вас это не должно волновать. Это все веб-запросы. Вместо того, чтобы проверять, что запрос был создан так, как вы ожидаете, вам нужно убедиться, что он дает вам ожидаемые данные.   -  person Taplar    schedule 17.04.2019
comment
@Taplar: проблема заключается именно в нашей проверке данных, которая выдает исключение, если форма пуста, поэтому я получаю уведомления по электронной почте об этом исключении, когда сканеры и тому подобное напрямую обращаются к странице order.php.   -  person ProgrammerGirl    schedule 17.04.2019


Ответы (1)


person    schedule
comment
Это не совсем рабочее решение. Тривиально добавить заголовок к запросу, чтобы подделать эту информацию. - person Rory McCrossan; 17.04.2019
comment
@RoryMcCrossan: Возможно, это не идеально, но это именно то, что я искал. Это достаточно хорошо для реального использования, чтобы избежать прямой обработки страницы order.php сканерами и т. д. Если кто-то действительно удосужился подделать свои заголовки только для того, чтобы обработать нашу страницу order.php, то он может повеселиться. - person ProgrammerGirl; 17.04.2019