Websoket + токен.
Если ajax, то там токен к форме "от чего исходит" записывать его в сессию и уже сверять. На подбор токена уйдет уйму времени. Что в +, можно установить срок действия ключа. Подделать не реально"если нету дыр" и на подбор "нормального токена" достаточно много вр. уйдет. Почитай про защиту php скриптов , межсайтовая подделка запроса и xss тоже игнорировать нельзя.
Не совсем понятно, что вы имеете ввиду. Если речь идет о CSRF-атаках, то генерируйте для каждой пользовательсокй сессии уникальный токен и шлите его вместе с запросом.
Если вспомню, то скину обход... Лучше токен.
Но это провернет только любитель, который залипал там где и я)
Проф, думаю что тоже, если располагает минимумом.