Сообщение от
Root-access
Надо не только совершенствовать парсер, но и методы поиска. Если параметр цифровой, надо сравнивать контент при 2-1 и 1, например. Если строковый, сравнивать blabla+AND+1=1 и blabla+AND+1=2.
Сделал, определяет значение гет параметра если строка, то береться один масив с елементами которые будут вставляться , когда число, то другой.
У нас три масива :
1) просто для возникновения ошыбки;
2) для строковых значений;
3) для числовых.
Если на линке есть ошибка при подстановке значений с первого масива, то 2 или 3 масив не прокручиваеться. Если нет, то определяеться что за значение в гет-параметре. Потом применяеться масив 2 или 3 соответсвенно. И все значения с этих масивов тоже не прокручиваються, если нашлись одинавовые сумы, то осуществялеться выход что соответсвенно должно ускорить. Надо заметить что если линк будет с использованием mod_rewrite, то ниче это не даст.
Участок кода:
#-----если что можно дописать для поиска переменных которые не фильтруються-------#
my @kod_sql=("'", # кавычка для появления ошыбки
"bla-bla-bla" # если кавычка допустим екранируеться и не подавдены сообщения об ошыбках
);
#--------------- в строковом контексте , ошибки погашены--------------------------#
my @kod_sql_str=("' --+",
"' /*", #
"'+AND+1=1",
);
#--------------- в числовом контексте , ошибки погашены--------------------------#
my @kod_sql_int=("' --+", # в строковом контексте , ошибки погашены -> очень редко число представляеться в строковом...
" --+", # в числовом контексте
"*1" # просто может переменная быть не в конце то можно так проверить одна и та же стаття выведеться
);
На даный момент недостатков много:
1) если относительные линки, то не преобразовует.
Надо посидеть с модулем URI поиграться.
2) линки могут быть ЧПУ;
3) использование аякс технологии;