Есть 2 модуля с открытым кодом, есть сервер. Модуля посылают со стороны клиента на наш сервер запросы, с разными параметрами, ответ от сервера приблизительно одинаковый(некоторые данные отличаются но они не сильно влияют на результат). Если перенаправить второй модуль на обработчик первого(обработчик на стороне сервера) то он будет работать но не совсем правильно. Как можно защитится от такого перенаправления? У клиента есть код, ему доверять нельзя, но как на стороне сервера понять, что к чему, ибо код могут модифицировать.
В общем случае - никак.
Есть варианты:
1) Закрыть код от клиента, к примеру Zend Encoder / Zend SafeGuard Suite
2) Сделать самоподписывающийся код, примеров не нашел. Суть в том, что сам скрипт содержит идентификатор/хеш и при отправке данных они подписываются ключом сгенерированным на основе исходного кода скрипта, таким образом модификация кода будет портить ключ и передаваемые данные.
Что мешает модифицировать код на клиенте так, чтобы он подписывал не "сгенерированным ключем" а "правильным", заботливо сохраненным перед модификацией?
Stalker_RED: Ничего не мешает. Определенная сложность алгоритма может отпугнуть только обычных разработчиков. Единственный наиболее действенный способ защиты от модификации - это закрыть код от клиента, однако обычно это требует дополнительные модули веб-сервера (Zend Encoder / Zend SafeGuard Suite).