Назад | Перейти на главную страницу

Блокировать определенный URL-адрес в HAProxy / url-кодировке

Я пытаюсь ограничить доступ к определенному 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