最近有些国外网站在国内打不开,但是网站的域名在国内能ping通。举个例子,假设是页面http://www.a.com/b.html :

  • 在国内,浏览器不能访问 http://www.a.com/b.html,但是在网站www.a.com找另外一个简单的合法的页面就可以访问
  • 通过翻墙软件,后者加密代理软件,在国内就可以打开页面 http://www.a.com/b.html
  • 在国内ping www.a.com是可以ping通的,这说明www.a.com这个域名和对应的IP地址没有被封掉。
  • 在浏览器里面输入http://www.a.com/b.html,浏览器很快就返回错误,Firefox浏览器返回的信息是:“连接被重置,载入页面时到服务器的连接被重置”。有TCP/IP知识的人会知道“连接被重置”指的是服务器返回了RESET,返回RESET就表示立刻无条件断开连接。
  • 如果把页面http://www.a.com/b.html的内容修改一下,把里面的文字都修改成正规的,合法的,那么通过浏览器再访问http://www.b.com/b.html就可以访问了。

根据以上的现象,我们就能分析出http://www.a.com/b.html里面的文字被实时过滤掉了,通常情况是http://www.a.com/b.html包含某些敏感字眼,国家防火墙碰到这些敏感字眼后立刻发送RESET给浏览器,从而断开了连接。

这类实时的关键字过滤不同于以前的封IP,封域名的做法。如果关键字被过滤了,那么这个网站无论怎样换IP,换域名都无法解决问题。

要解决这个问题,唯一的做法就是删除那些敏感的字眼,把敏感字眼做成图片,用图片替换掉文字。这样做的缺点就是搜索引擎不认识这些图片。