Я работаю в Incapsula, и мы предпринимаем такие попытки несколькими способами, в основном, используя разные методы проверки:
Проще говоря, мы проверяем URL сеанса по известным векторам атаки или / и подозрительным параметрам.
Например, если попытка XSS выглядит примерно так:
http://www.yourdomain.com/index.php?search=”‘><iframe src=”http://www.phisingsite.com”
height=”200″ width=”200″></iframe>
Тогда есть все виды "подозрительных" признаков, на которые вы можете указать (кроме phishngsite.com, конечно ...)
Сказав это, я не уверен, как вы можете реализовать это самостоятельно, поскольку весь этот метод основан на наличии большого пула подозрительных сигнатур / векторов атак, которые будут использоваться для перекрестной проверки.
В частности, для XSS проверка URL - хорошее место для начала.