阻止网站被在线代理(反向代理)访问

以前写过一篇《禁止网站在某一国家的访问》,用此方法可以过滤掉某些国家的访客,但还是有一些聪明的访客会想到使用在线代理网站来访问,那么如何解决这个问题呢?

一般来说,在线代理网站为了保证浏览速度,都会过滤掉被代理页上的javascript脚本的,如果有访客通过这类代理浏览你的网站,你网站上的广告是不会显示出来的。如果你仍不放心,可以把网站的核心内容,比如文章主体用javascript的方式显现出来,然后访客通过代理访问的时候是看不到文章主体的,这样自然就不会有人通过在线代理去访问你的网站了。

但也有个别例外的,比如我今天就发现了一个www.1proxy.de,该网站并未过滤javascript,通过此站去访问你的网站,你网站上的Adsense广告会豪无保留的展现出来。这是十分危险的,如果有人点击了上面的广告,很容易被adsense封号。要解决此问题很简单,在你的网站上插入以下代码即可:
[code lang=”js”]

脚本很简单,如果地址栏中的网址不是aaa.net和www.aaa.net中的任何一个,那么就把地址栏转向http://www.ixour.com/noproxy.html。此段代码可以插入aaa.net和www.aaa.net网站下的任何一个页面中,均可以起到效果。这段代码同样可以避免被人使用反向代理技术“伪造”一个跟自己一模一样的网站。

如何防止网站被iframe嵌入
有个别蛋疼的家伙,用iframe做了个框架,把我们网站嵌入其中,访客来浏览的时候,好像是在浏览他自己的网站一样,通过以下这段代码,可以完美解决此问题
[code lang=”js”]

6 thoughts on “阻止网站被在线代理(反向代理)访问

  1. Nginx配置反向代理做克隆小偷站 附nginx_substitutions_filter安装方法

    作者:臭臭熊 发布于:2012-5-17 1:28 Thursday 分类:安全
    说起Nginx,强项就是反向代理,因为研究肉鸡刷Adsense要用到(说明一下,没入侵他人电脑,是自己电脑用虚拟机搭建模拟肉鸡环境),就花了1-2天时间恶补一下Nginx的知识,发现其中有个查找替换文件Sub_filter模块,貌似还有其他的用途,可以做无限个小偷站。还能把对方的广告替换成你的。
    例如要插入个劫持的JS文件可以,
    location / {
    sub_filter ”;
    sub_filter_once on;
    sub_filter_types text/html;
    }
    sub_filter 一行代码前面是需要替换的内容,后面单引号内是替换成的内容。sub_filter_once 意思是只查找并替换一次。on是开启此功能,off是关闭——默认值是on。sub_filter_types 一行意思是选定查找替换文件类型为文本型。也可以不加此行,因为默认只查找文本型文件。
    但默认的模块缺点多。只能使用一条规则,多规则替换,可以用第三方模块nginx_substitutions_filter。
    模块官网:http://code.google.com/p/substitutions4nginx/
    ========================以下是安装说明=====================
    多规则替换过滤nginx模块nginx_substitutions_filter安装方法
    nginx第三方模块nginx_substitutions_filter,此模块作用是替换过滤响应主体,nginx也有一个类似这样的原生模块,但有一个缺点,就是只能使用一条规则,而nginx_substitutions_filter则不限规则数量。

    安装方法
    cd /tmp
    yum install subversion
    svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
    在编译nginx时加上:

    ./configure –add-module=/tmp/substitutions4nginx-read-only
    使用方法
    有两条指令:subs_filter_types,subs_filter
    subs_filter_types
    语法: subs_filter_types mime-type [mime-types]
    默认:subs_filter_types text/html
    适用区域:http, server, location
    subs_filter_types是用来指令需要替换的文件类型,默认是text/html类型。此模块无法处理经过压缩的内容,虽然能与gzip filter模块兼容,但无法处理反向代理返回的内容。当需要处理反向代理的内容时,可以使用如下语句禁用压缩:

    proxy_set_header Accept-Encoding “”;
    subs_filter
    语法;subs_filter 源字段串 目标字段串 [gior]
    默认:无
    适用区域:http, server, location
    subs_filter指令允许在nginx响应输出内容时替换源字段串(正则或固定)为目标字符串。第三个标志含意如下:
    g(默认): 替换所有匹配的字段串。
    i: 执行区分大小写的匹配。
    o: 仅替换首个匹配字符串。
    r: 使用正则替换模式,默认是固定模式。

发表评论

电子邮件地址不会被公开。