检测并阻止 UC 浏览器

Detect and Block UC Browser

对于我在 Wordpress 上的网站 运行,我想阻止读者从 UC 浏览器访问它。我遇到了一些可以阻止常见嫌疑人的脚本(Chrome、Firefox、Safari , ETC。)。有什么方法可以检测 UC 浏览器并阻止通过它访问?

UC浏览器用户代理详情如下:

  1. http://www.whatsmybrowser.org/b/434TWLW
  2. http://bit.ly/1YlL8fW

如何做到这一点?

使用以下 .htaccess 文件:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*UCBrowser.*$ [NC]
RewriteRule .* - [F,L]

它将阻止任何发送 User-Agent header 包含字符串 UCBrowser.

的浏览器

如果您想将所有 UCBrowser 用户重定向到特定页面,例如显示不支持此浏览器的信息,您的 .htaccess 应该如下所示:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*UCBrowser.*$ [NC]
RewriteRule .* browser-not-supported.html [L]

有点"simple",但不是"too simple"。

您可以使用 JavaScript Window 导航器检测浏览器。 window.navigator 对象包含有关访问者浏览器的信息。

参考这里http://www.w3schools.com/js/js_window_navigator.asp and you will find a demo here https://jsfiddle.net/wvbdnb8o/,它使用一些代码检测一些常见的浏览器;

var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

接下来,使用 html 和 css 创建一个 "mask"。我的意思是,全屏、不透明 <div>,阻止读者查看页面内容。您可以参考这个 Whosebug post How to make a <div> always full screen?.

当您检测到UC浏览器时,显示掩码,否则,隐藏它。希望这会给你一个良好的开端。

请试试这个,这个脚本将阻止旧的和最新的所有 UCBrowser 并重定向到自定义页面

RewriteCond %{HTTP_USER_AGENT} ^.*UBrowser.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*UCBrowser.*$ [NC]
RewriteRule .* browser-not-supported.html [L]