Продолжая свою работу над автоматизацией аудита веб-приложений, дошел сегодня до классификации различного рода фильтрации данных. Решалась задача анализа сканером алгоритма фильтрации данных. Научил сканер разделять фильтра на инвариантные и неинвариантные. Пусть $s – сигнатура фильтра, если f($s)!=$s Тогда: f($a.$s)  инвариантен по $s, если f($a.$s)==f($s.$a) Примеры: f($a) { return mysql_real_escapestring($a); } не инвариантен по сигнатуре ‘ [...]