升东运维是一家专业从事Linux/Freebsd Unix/Windows平台网站维护业务的公司,专业提供Linux(CentOS Redhat Ubuntu等),Unix(Freebsd),Nginx,Apache等系统及网站维护,七年从业经验

Archive for the ‘Web Service’ Category

禁止搜索引擎收录

星期四, 九月 22nd, 2011

搜狗一上来一台服务器就打不开了,一看cpu100%,查看日志全是搜狗spider,于是用robot.txt禁止,结果无效,只能强制了.

禁止搜索引擎收录的方法大概有3种。
方法一:服务器禁止访问。

这需要服务器配备有cPanel这样的后台管理软件,设定某个搜索引擎所在的IP段禁止访问。如要封锁Google的蜘蛛,先通过域名对应IP查询 得www.google.com的IP地址,如74.125.19.99,再通过IP WHOIS查询查到IP段 74.125.0.0 – 74.125.255.255 的所有人均是Google公司,把这个IP段填入IP黑名单中。(具体的方法根据不同的管理软件有所不同,可能是 74.125.0.0-74.125.255.255或74.125.*.*)

这个方法比较好的地方在于直接禁止搜索引擎的访问,除了HTTP请求头,几乎不耗费流量,一般情况下这点流量也不会计算在你的消耗的流量当中。这是 禁止搜索引擎收录的最好方法。但麻烦在于你不可能得到Google的所有IP段,这个就得靠收集了。

方法二:robots.txt禁止

robots.txt(小写)是放置在网站根目录下的搜索引擎权限控制文件。搜索引擎一般遵守robots.txt协议。通过编辑 robots.txt协议,可以禁止某些搜索引擎的访问、禁止某个文件、文件夹被搜索引擎收录,适合用于保护私有文件。搜索引擎通过读取 robots.txt,判断自己是否在被禁止搜索引擎之列,如果被禁止,一般不会对该网站进行抓取。

robots.txt的简单用法:

1.禁止百度收录

User-agent: *
Disallow:
User-agent: baiduspider
Disallow: /

首先是User-agent,每个搜索引擎都有自己的User-agent,比如Google的为 Googlebot,百度的为 baiduspider ,可能区分大小写,其他相对应的应该到搜索引擎的帮助页面去查询一下。 * 是一个通配符,通配所有的搜索引擎,Disallow: 项目表示禁止访问的位置,第一个Disallow:后面为空,表示没有禁止访问的项目,也就是允许所有的搜索引擎收录。但如果要添加例外,还可以添加一行 User-agent: baiduspider,表示下面的规则仅适合百度蜘蛛,百度蜘蛛的规则是Disallow: / ,也就意味着禁止收录该域名下所有的网页。

在特殊情况下,我们可能希望部分不被所有的搜索引擎收录,比如Wordpress的wp-admin/目录是后台管理的目录,wp-content /是存放主题、插件的目录,这个不需要被搜索引擎收录,可以编辑robots.txt为

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/

2.仅允许百度以及Google收录

User-agent: Googlebot
Disallow:
User-agent: baiduspider
Disallow:
User-agent: *
Disallow:/

使用robots.txt需要注意的是,并非所有的搜索引擎都遵守该协议,而且就算遵守该协议不代表蜘蛛不对网站进行抓取,可能是抓取后不发布出来 而已,流量是要样要耗费的。
方法三:脚本判断,禁止

这里写一下PHP的方法,其他ASP等方法也是类似的。
检测来访的访客的User-agent(UA),如果是搜索引擎的蜘蛛则立即禁止访问,提示出错信息。

if ( preg_match ( " /(google|baidu)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ])){
 header ( ' HTTP/1.1 403 Forbidden ' ) ;
 exit ;
}

 

该代码当来访的访客的UA中包含google或baidu字样即返回403禁止信息并退出脚本。

//禁止UA中含有bot /crawl/spider字样的用户
//但允许百度和Google
if ( preg_match ( " /(bot|crawl|spider)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ]) && ! preg_match ( " /(google|baidu)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ])){
    header ( ' HTTP/1.1 403 Forbidden ' ) ;
    exit ;
}

在64位windows7下配置ODBC数据源

星期一, 十二月 20th, 2010

默认自带的是64位的数据源,一些数据源可能无法运行比如mysql odbc.另外有些中间件程序只支持32位数据源,

如果你想配置32位的数据源,只需要桌面上新建一个快捷方式,地址写成

C:\Windows\SysWOW64\odbcad32.exe