Маленький такой баг, который вешает HandyCache намертво.
Преамбула.
В регэкспах есть такой эскейп-символ как
\xYZ. Что он делает? самую малось - возвращает символ шестнадцатеричного кода YZ.
Собственно баг в том что при попытке использовать эскейп
\x HandyCache загружает процессор на все 100% (ну если совсем честно, то только на 25% - ибо 4 ядра) и перестает отвечать на запросы, и вообще ни на что не реагирует. Приходится вырубать его из диспетчера задач. (и опять справедливости ради, однажды пока ждал когда HandyCache одумается он ругнулся что то про FastMM и сам закрылся, каюсь - скриншот не сделал
)
То есть правило
#5#~#False#~#\%([0-9A-F]{2})#~#\x\1#~#True#~#True
в списке
Преобразование URL на запрос
somesite.com/test.php?re=%2F
по идее должен вернуть один единственный символ -
/. Причем не важно где его использовать, в тренажере реакция такая-же.
НО! Зависание происходит только в случае если шестнадцатеричный код передается как параметр. Если код символа указать явно, то все ок.
Например конструкция
\x2F без проблем возвращает
/Причем некоторые символы декодируются на автомате и без правила (по крайней мере в мониторе коды буквенных символов отображаются самими символами, хотя возможно это браузер их транслирует). В принципе и без него жить можно просто очень сильно облегчило бы жизнь при обработке редиректов и прочих где среди параметров передаются другие URL.