谈谈网站开发中的跳转方式技术
互联网是一个大杂烩,一个系统在公网上运行,随时面临着傻逼程序的进攻,在互联网的大家庭里,鱼龙混杂,技术水平参差不齐,特别是各种傻逼爬虫。这也是我写这篇文章的原因。
当我在我的统计日志中发现大量的重定向之后,我觉得这些爬虫怎么可以这么傻逼,请看下面的日志,我截取的是比较短的一个记录,事实上最长的记录已经达到了 GET 请求的最大限制:
"GET //mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com//mall.dbsqp.com/manager/html HTTP/1.1" 301 432
出现上面的问题,是我在 LBLOG CMS 中加了一个功能,防止在使用 IP 访问或者使用其他不正确的域名访问我的网站时,跳转到正确的域名,当时使用的是 301 跳转,跟随当前协议。结果哪些傻逼爬虫竟然请求成了这个死样。哎!
我之前有篇文章提到百度的图片爬虫很弱智,现在很多网站的图片都是使用的懒加载,很自然的 src 属性是不正确的。所以作为一个稍微有点脑子的程序员写个爬虫也应该知道在 img 标签中尝试的匹配下比较有可能的正确的图片路径,当时我的图片路径还是包含协议头的,傻逼的爬虫竟然将这个路径加在了当前网站路径的后面来访问。这个是典型的傻逼程序。
在傻逼爬虫盛行这么多的今天,我觉得最好的跳转还是 js 或者 meta 头。就像 baidu.com 一样,人家使用的是 meta 跳转。如下示例:
<html><meta http-equiv="refresh" content="0;url=http://{setting_site_domain}/"></html>
暂无