On Thu, 15 Apr 2010, \"mbah Darmo\" wrote: > > Saya sudah coba pakai ini pak > > acl no_IPs url_regex -i ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ acl no_IPs > url_regex -i > (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) > acl https_ports port 443 http_access deny CONNECT no_IPs https_ports all > > tapi belum berhasil juga...,apa penulisannya salah ya? > Thanks
kalo pake url_regex, maka perlu dipahami token "^(carret)" artinya dimulai dari awal URL, yaitu: scheme://domain:port/path. coba rulenya diubah seperti berikut: acl no_IPs url_regex -i ^https?://([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}(:[0-9]+)?/ # ini seharusnya cuma sebaris, jadi kalo kepotong oleh mail-client anda silake disambung manual. # # cegat request https://123.45.67.89:443/ acl https_ports port 443 http_access deny CONNECT no_IPs https_ports # cegat request http://123.45.67.89/ http_access deny CONNECT no_IPs salam YK keterangan: *> ^https?:// -> match ^http:// atau ^https:// setiap oktet alamat ip dapat diisi angka 0-255, jadi untuk matchingnya agak rumit: - pola 1, match 0-199 ( d, dd, ddd) -> [01]?[0-9]{1,2} - pola 2, match 200-249 -> 2[0-4][0-9] - pola 3, match 250-255 -> 25[0-5] sehingga polanya: *> ([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}/ untuk ngetest pola tersebut, lakukan perintah berikut di terminal/konsole: $ echo -e \ "https://123.145.67.8:443/\nhttp://1.1.2.3/\nhttp://90.232.9.299/" | egrep \ "^https?://([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])(\.([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){3}(:0-9]+)?/" untuk penjelasan lengkap, silaken baca bukunya Jeffrey L Friedl (Perl Reg-Ex). -- |===[ Yudhi Kusnanto ]=============| |===[ STMIK Akakom ]===============| -- FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab Unsubscribe: kirim email ke tanya-jawab-unsubscr...@linux.or.id Arsip dan info milis selengkapnya di http://linux.or.id/milis