Вы никогда не найдете решение, которое гарантировало бы, что запросы, поступающие от случайных третьих сторон (пользователей), фактически инициируются путем доступа к веб-сайту ваших клиентов. Если ваша безопасность зависит от этого, то вы должны удалить это предположение. (Если вы действительно имеете в виду «гарантировать, что запросы поступают только с веб-сайтов наших клиентов» серверов , то это тривиально: SSL с клиентскими сертификатами. Но я предполагаю, что вы имеете в виду «поступающие со случайных пользовательских компьютеров с намерены использовать сайты наших клиентов. ")
Что вы должны искать, чтобы предотвратить обман пользователей (CSRF). Так, например, тот факт, что Referer может быть подделан, не имеет значения для этой проблемы. Единственный вопрос заключается в том, существует ли браузер с недостатком, который позволил бы третьей стороне обманом заставить пользователя создать поддельного Реферера. Таким образом, вы должны проверить Referer по мере необходимости, но не достаточно. То есть, если Referer не прав, повесить трубку. Но тот факт, что Referer прав, не означает, что вы на самом деле получаете законный запрос. Я полагаю, что большинство CSRF связано с неспособностью проверить Referer, а не с ошибками браузера.
Статья Википедии о CSRF содержит приличное описание очевидных методов профилактики. Просто проверка Referer - это большой первый шаг.