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

Kirim email ke