Я пытаюсь ограничить доступ к определенному URL. У него не должно быть доступа к /admin.php.
frontend example
acl restricted_page path_beg -i /admin\.php
http-request deny if restricted_page
Это нормально работает, HAProxy блокирует доступ к этому URL. Но когда я вхожу http://example.org/ad%6Din.php (% 6D = шестнадцатеричный код для "m"), HAProxy не ограничивает доступ.
Как лучше всего это сделать?
Спасибо!
Как оказалось, у HAProxy есть конвертер для декодирования поля, убедившись, что ваш ACL всегда будет соответствовать заданной строке.
url_dec
Принимает строку в кодировке url, предоставленную в качестве ввода, и возвращает декодированную версию в качестве вывода. Вход и выход имеют строковый тип.
Вы бы использовали это так.
frontend example
acl restricted_page path_beg,url_dec -i /admin.php
http-request deny if restricted_page