互联网技术上不断发展,Python的普及以及代理ip的进一步稳定,爬虫技术也得到了前所未有的优化。过去我们或许还会为抓取海量数据而头痛。但现在,不断优化的网络爬虫技术,却能够轻松应对这个问题,为高效搜索用户关注的特定领域与主题提供了有力支撑。而网络爬虫现在也逐渐发展成为涵盖数据抽取、机器学习、数据挖掘、语义理解等多种方法综合应用的智能工具。
凡事都有两面性,网络爬虫带太阳HTTP来便利的同时,也网站的安全问题带来了不小的隐患,恶意用户可以利用爬虫程序对Web站点发动DoS攻击,使Web服务在大量爬虫程序的暴力访问下,资源耗尽而不能提供正常服务。恶意用户还可能通过网络爬虫抓取各种敏感资料用于不正当用途,主要表现在以下几个方面:
1)搜索测试页面、手册文档、样本程序及可能存在的缺陷程序
大多数Web服务器软件附带了测试页面、帮助文档、样本程序及调试用后门程序等。这些文件往往会泄漏大量的系统信息甚至提供绕过认证直接访问Web服务数据的方法,成为恶意用户分析攻击Web服务器的有效情报来源。而且这些文件的存在本身也暗示网站中存在潜在的安全漏洞。
2)搜索互联网用户的个人资料
互联网用户的个人资料包括姓名、身份证号、电话、Email地址、QQ号、通信地址等个人信息,恶意用户获取后容易利用社会工程学实施攻击或诈骗。
3)搜索管理员登录页面
许多网络产品提供了基于Web的管理接口,允许管理员在互联网中对其进行远程管理与控制。如果管理员疏于防范,没有修改网络产品默认的管理员名及密码,一旦其管理员登录页面被恶意用户搜索到,网络安全将面临极大的威胁。
4)搜索目录列表
互联网中的许多Web服务器在客户端请求该站点中某个没有默认页面的目录时,会返回一个目录列表。该目录列表通常包括可供用户点击的目录和文件链接,通过这些链接可以访问下一层目录及当前目录中的文件。因而通过抓取目录列表,恶意用户往往可获取大量有用的资料,包括站点的目录结构、敏感文件以及 Web服务器设计架构及配置信息等等,比如程序使用的配置文件、日志文件、密码文件、数据库文件等,都有可能被网络爬虫抓取。这些信息可以作为挑选攻击目标或者直接入侵站点的重要资料。
如何应对爬虫的安全威胁
由于网络爬虫带来的安全威胁,不少网站的管理人员都在考虑对爬虫访问进行限制甚至拒绝爬虫访问。
限制爬虫可以通过以下几种方法实现:
1) 设置robots.txt文件
限制爬虫最简单的方法是设置robots.txt文件。robots.txt文件是搜索引擎爬虫访问网站的时候要查看的第一个文件,它告诉爬虫程序在服务器上什么文件是可以被查看的,如设置Disallow: /,则表示所有的路径均不能查看。遗憾的是并不是所有的搜索引擎爬虫会遵守这个规则,因此仅仅设置robots文件是不够的。
2) User Agent识别与限制
一般的爬虫程序都可以通过其HTTP请求中的User Agent字段进行识别,该字段使服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
3) 通过访问行为特征识别与限制
对于在HTTP请求的User Agent字段刻意伪装成浏览器的爬虫,可以通过其访问行为特征进行识别。爬虫程序的访问一般是有规律性的频率比较高,区别于真实用户浏览时的随意性与低 频率。对这类爬虫的限制原理与DDoS攻击的防御原理很相似,都基于统计数据。对于这类爬虫的限制只能通过应用识别设备、IPS等能够做深度识别的网络设 备来实现。
无论是爬虫还是反爬虫,都少不了代理ip的支持,在互联网的无声世界里,爬虫之间的战争从未停止过,胜利的关键就在于能否真正阻拦或者突破对方的侵入或者限制。这里还是呼吁,合理使用爬虫技术,不要做违法的事情。
转载自网络 不用于商业宣传 版权归原作者所有,侵权删。