Chặn PROXY Sever trong htaccess cho Web

Tôi đang sử dụng mã này (được một số diễn đàn trên mạng khuyến nghị) để chặn Proxy vào các tệp trang web của mình, bằng cách sử dụng tệp htaccess:

RewriteEngine on    
RewriteCond %{HTTP:XROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED-FOR}     !^$ [OR]    
RewriteCond %{HTTP:FORWARDED-FOR}       !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED}         !^$ [OR]    
RewriteCond %{HTTP:VIA}                 !^$ [OR]    
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]    
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]    
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]    
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]    
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]    
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$     
RewriteRule ^(.*)$ - [F]

Nó đã hoạt động hoàn hảo. Tuy nhiên, kể từ năm nay, GOOGLE đã cập nhật nền tảng ANDROID của mình với một tính năng mới có tên: “Data Compression Proxy” (sử dụng tùy chọn bên trong cài đặt của trình duyệt có tên “Reduce Data Usage”). Theo bài đăng này Được cập nhật vào tháng 1 năm 2014, tôi có thể thấy đó là một tính năng mới cho các thiết bị Android: https://developers.google.com/chrome/mobile/docs/data-compression

Hiện tại, mã htaccess vẫn đang chặn proxy, đó là thứ tôi cần, nhưng ngoài ra, nó đang chặn tất cả các yêu cầu đến từ Thiết bị Android sử dụng Chrome Mobile. Ngay cả khi Người dùng điện thoại Android được kết nối với internet qua WIFI hoặc Mobile 4G mà không cần bất kỳ Proxy nào. Cài đặt proxy do Google đặt nội bộ trên máy chủ của họ.

Tất nhiên, nếu người dùng tắt tùy chọn đó (mà tôi thấy đã được đặt “bật” theo mặc định trong điện thoại), họ có thể truy cập vào các trang web của tôi.

Tôi cần biết liệu có CÁCH nào để đưa GOOGLE android PROXIES vào danh sách trắng bên trong cùng một mã không? Ý tôi là, một mã cho liên kết giới thiệu đến từ Google.com?

Tôi đã thử cách này nhưng không hiệu quả:

RewriteCond %{HTTP_REFERER} !.google.com. [OR]

Tôi không muốn thay đổi mã gốc thành một thứ gì đó giống như chặn theo từng IP, vì Việc chặn IP của người vi phạm proxy sẽ tạo ra một danh sách lớn trên tệp đó và khó kiểm soát và quản lý tệp đó hơn.

Câu trả lời:

Có một số điều bạn có thể làm, bạn có thể đưa vào danh sách trắng tất cả các tác nhân người dùng “Android” hoặc bạn có thể đưa tiêu đề “VIA” vào danh sách trắng khi đó là proxy nén. Khi bạn lập danh sách trắng, nó không thể là một điều kiện “HOẶC”, nó phải được thỏa mãn.

Một yêu cầu điển hình từ android chrome thông qua proxy nén trông giống như sau:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Forwarded: for="xxx"
Scheme: http
Via: 1.1 Chrome Compression Proxy
X-Forwarded-For: xxx
Connection: Keep-alive
User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36

Vì vậy, bạn có thể so khớp với phần “Linux; Android” của tác nhân người dùng hoặc “Chrome Compression Proxy” trong qua:

RewriteEngine on   
RewriteCond %{HTTP_USER_AGENT} !Linux;\ Android\ [234]\.[0-9]

RewriteCond %{HTTP:XROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED-FOR}     !^$ [OR]    
RewriteCond %{HTTP:FORWARDED-FOR}       !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED}         !^$ [OR]    
RewriteCond %{HTTP:VIA}                 !^$ [OR]    
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]    
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]    
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]    
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]    
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]    
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$     
RewriteRule ^(.*)$ - [F]

Hoặc

RewriteEngine on   
RewriteCond %{HTTP:VIA} !Chrome\ Compression\ Proxy

RewriteCond %{HTTP:XROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED-FOR}     !^$ [OR]    
RewriteCond %{HTTP:FORWARDED-FOR}       !^$ [OR]    
RewriteCond %{HTTP:X-FORWARDED}         !^$ [OR]    
RewriteCond %{HTTP:VIA}                 !^$ [OR]    
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]    
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]    
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]    
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]    
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]    
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]    
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$     
RewriteRule ^(.*)$ - [F]

Mình mới tìm ra bài này và dịch!!

Một cách tốt hơn để chặn máy chủ proxy như hình:

# block proxy servers from site access
# https://perishablepress.com/press/2008/04/20/how-to-block-proxy-servers-via-htaccess/

RewriteEngine on
RewriteCond %{HTTP:VIA}                 !^$ [OR]
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
RewriteRule ^(.*)$ - [F]

Và Chặn Proxy Sever là một trong những phương pháp chống DDos hiệu quả!!!

Bình luận về bài viết này