Супастаўленне User-Agent у Squid
Выкарыстоўвайце ACL req_header для абвешчанага ідэнтыфікатара кліента і стаўце правіла доступу перад больш шырокім дазволам.
ACL User-Agent супастаўляе ідэнтыфікатар, які кліент змяшчае ў свой HTTP-запыт. У канфігурацыі Squid 7 тэставы кліент можна класіфікаваць з дапамогай req_header:
acl legacy_probe req_header User-Agent -i ^LegacyProbe/
http_access deny legacy_probe
Прыклад супастаўляе загаловак, які пачынаецца з LegacyProbe/, без уліку рэгістру. Замяніце шаблон патрэбным ідэнтыфікатарам кліента. Выраз — гэта рэгулярны выраз, а не пошук назвы прадукту браўзера.
Размясціце правіла забароны перад любым больш шырокім правілам доступу, якое ўжо дазволіла б запыт. Захавайце існуючыя элементы кіравання кліентам і прызначэннем вакол гэтага мэтавага правіла.
Шырокі прэфікс, напрыклад Mozilla, супастаўляе шмат розных браўзераў. Выкарыстоўвайце фактычны загаловак, які дасылае кліент, калі вырашаеце, наколькі вузкай павінна быць палітыка сумяшчальнасці або тэставання.
Кліент кантралюе гэты загаловак і можа змяніць або апусціць яго. Правіла класіфікуе заяўлены ідэнтыфікатар; гэта не моцная ідэнтычнасць праграмы. Яно таксама дзейнічае на HTTP-паведамленні, якія Squid можа праверыць, а не на зашыфраваныя загалоўкі сайтаў унутры звычайнага тунеля CONNECT.