Android HTC针对代理的访问保护

Android HTC针对代理的访问保护,android,.htaccess,proxies,Android,.htaccess,Proxies,我使用此代码(网络中的一些论坛推荐)阻止我的网站文件的代理,使用htaccess文件: 它工作得很好。然而,今年以来,谷歌用一个新功能更新了他的ANDROID平台,名为: “数据压缩代理”(使用浏览器设置中名为“减少数据使用”的选项)。根据2014年1月更新的这篇文章,我可以看到这是Android设备的一项新功能: 现在htaccess代码仍在阻止我所需要的代理,但另外它还阻止了所有来自使用Chrome手机的Android设备的请求。即使Android手机用户在没有任何代理的情况下通过WI

我使用此代码(网络中的一些论坛推荐)阻止我的网站文件的代理,使用htaccess文件:



它工作得很好。然而,今年以来,谷歌用一个新功能更新了他的ANDROID平台,名为: “数据压缩代理”(使用浏览器设置中名为“减少数据使用”的选项)。根据2014年1月更新的这篇文章,我可以看到这是Android设备的一项新功能:

现在htaccess代码仍在阻止我所需要的代理,但另外它还阻止了所有来自使用Chrome手机的Android设备的请求。即使Android手机用户在没有任何代理的情况下通过WIFI或移动4G连接到互联网。代理设置由谷歌在其服务器上进行内部设置

当然,如果用户禁用该选项(我看到手机默认设置为“开”),他们可以访问我的网站

我需要知道是否有一种方法可以在同一代码中白名单谷歌android代理?我是说,一个来自Google.com的推荐代码

我已经试过了,但没有成功:

重写cond%{HTTP_REFERER}!。谷歌网站。[或]

我不想将原始代码更改为类似于按IP阻塞的代码,因为按IP阻塞代理将在该文件上创建一个大列表,并且更难控制和管理它


请告诉我。谢谢。

您可以做几件事,可以将所有“Android”用户代理列入白名单,也可以将压缩代理的“VIA”标题列入白名单。当您创建白名单时,它不能是“或”的条件,它必须满足

android chrome通过压缩代理发出的典型请求如下所示:

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
因此,您可以与用户代理的“Linux;Android”部分或via中的“Chrome压缩代理”进行匹配:

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]


谢谢!。成功了。我更喜欢使用第二个,因为第一个看起来像是整个Android代理的白名单,这可以让访问者在他们的手机上使用其他代理(不仅仅是谷歌压缩代理,目前我只想将其列入白名单)
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]
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]