Вы могли бы сделать это с помощью скрытого поля формы + cookie.
То, что вы могли бы сделать, это настроить nonce и использовать его в качестве скрытого поля формы. Затем вы примените это к cookie-файлу, который отправляется вместе с формой. Файл cookie должен быть связан со скрытым полем, а также должен содержать некоторый тип одноразового номера. Наконец, когда форма отправлена, вы можете проверить cookie и скрытое поле, и посмотреть, верны ли они. Если хотите, свяжите его с IP-адресом и пользовательским агентом исходного запроса формы. Вы могли бы даже оживить все это с помощью Javascript. Для начала сделайте пустое скрытое поле пустым, а затем несколько ajax для запроса одноразового номера скрытого поля с сервера.
Это не будет идеально, но это даст вам 80-90% пути. Кто-то с хорошими навыками HTTP все еще может подделать его.
Однако возникает вопрос: почему вы хотите дифференцировать запрос на этом уровне?
Или вы действительно пытаетесь понять, нажал ли пользователь кнопку «отправить»? (Если это так, то пара имя / значение кнопки отправки должна находиться в объекте запроса / строке запроса ... в зависимости от метода формы.)