- 過濾不良內容 (Content Filtering)
- 擋廣告 (Ad Blocking)
- 網站黑名單 (HTTP Blocking)
- 禁止瀏覽成人內容 (Adult Blocking)
- 網址黑名單 (URL Blocking)
- 強迫 Google "嚴格篩選" 搜尋結果 (url_rewrite)
環境: Fedora 14, squid 3.1.15, qlproxy 1.4.0, php-cli 5.3.6
以下操作全部以 root 身份進行
su -
下載並安裝 qlproxy (
QuintoLabs Content Security Download Page)
wget http://www.quintolabs.com/qlproxy/binaries/1.4.0/qlproxy-1.4.0-72bbf.i386.rpm
yum localinstall --nogpgcheck qlproxy-*.rpm
提升成人內容過濾等級
vi adultblock.conf
禁止使用 IP Address 連線
vi httpblock.conf
url = http://\d+\.\d+\.\d+\.\d+/.* |
摘除誤植黑名單的 blogspot.com
cd /var/opt/quintolabs/qlproxy/spool/urlblock/blacklists
find ./ -type f -name domains -exec sed -i -e '/^blogspot.com$/d' {} \;
啟動 qlproxy
chkconfig qlproxy on
service qlproxy start
讓 squid 使用 qlproxy 過濾不良內容
vi /etc/squid/squid.conf
#於檔尾加入以下內容 (Ref: /opt/quintolabs/qlproxy/README) |
icap_persistent_connections on |
icap_send_client_username on |
icap_client_username_header X-Client-Username |
icap_service qlproxy1 reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod |
icap_service qlproxy2 respmod_precache routing=on icap://127.0.0.1:1344/respmod |
adaptation_access qlproxy1 allow all |
adaptation_access qlproxy2 allow all |
#若只想針對特定使用者進行內容過濾, 可設置 acl, 並修改 adaptation_access 如下 |
acl mychildren src 192.168.1.104/29 #IP Range: 192.168.1.105 ~ 192.168.1.110 |
adaptation_access qlproxy1 allow mychildren |
adaptation_access qlproxy2 allow mychildren |
service squid restart
使用瀏覽器通過 squid proxy 進行以下測試
#AdBlock 測試
http://thepcspy.com/blockadblock/
#eicar.com 測試
http://eicar.org/download/eicar.com
#搜尋關鍵字測試
http://www.google.com/search?q=adult
若要排除阻擋內容, 可編輯 /opt/quintolabs/qlproxy/etc/exceptions.conf 再
service qlproxy reload 即可生效
-
進階設置: 使用 url_rewrite_program 功能強迫 Google 搜尋使用 "嚴格篩選"
vi /usr/local/bin/rewrite.php
04 | while ( $input = fgets (STDIN) ) { |
06 | $temp = split( ' ' , $input ); |
08 | $output = $temp [0] . "\n" ; |
10 | if ( strpos ( $temp [0], "google.com" ) !== false && strpos ( $temp [0], "q=" ) !== false ) { |
11 | $output = $temp [0] . "&safe=strict\n" ; |
chmod +x /usr/local/bin/rewrite.php
vi /etc/squid/squid.conf
url_rewrite_program /usr/local/bin/rewrite.php
service squid reload
參考資料:
沒有留言:
張貼留言