昨天晚上花了几个小时用Jsoup写了一个网站收集器,帮一个高中同学收集了一个工业信息门户上的芯片待售信息。网站上显现的数据多达60w+条, 我写的程序跑了7个小时只收集了一半,算是能够交差了。
这现已是我第2次写这种收集器了。之前在做 波菜网 的时分,写过一个更杂乱的。其时网站上线今后苦于没有原生态的内容,我就写了一个收集器从“ 百度身边 ”收集各大城市的饭馆和菜品信息,并经过google地图的接口获取饭馆的地理位置,然后转存到咱们自己的网站上。
我有必要供认,做这些事儿都是不光彩的,归于坐收渔利,弄不好还得背上法令责任。可是在国内这个互联网的环境下,这种小规模的数据收集想上升到法令层面去制止,仍是不切实际的。那么从一个网站的开发或许运营的视点,怎么来防备他人的歹意收集呢?怎么做到在防备的一起又不影响搜索引擎的蜘蛛的收集作业呢?
从我个人的收集经历来看,我觉得这种防护能够从两个方面着手。
服务器端的装备 。至少能够经过防火墙来屏蔽某些ip的高频率拜访,或许在web服务器设置规矩来制止要害页面被某些ip高频恳求。也能够先经过防火墙设置预警机制,一旦发现异常当即告诉web服务器采纳屏蔽办法。不论是专业的收集器仍是像我的这种纯代码等级的收集,最基本的原理便是仿照用户阅览网站行为,发送http恳求到网站的server,然后解析回来的成果。出于功率起见这种收集行为都有几个一起的特色。一是宣布恳求的ip地址比较固定,二是恳求的频率比较稳定,三是拜访的页面也比较固定。防火墙的设置能够根据前面两个特征,web服务器的过滤规矩能够根据后边两个特征。当然这些办法仅仅从物理层面的防护,放不了真实的高手。我在我的收集器里边完成的多线程收集,就会把收集频率用随机时刻来操控,也便是发送收集恳求的频率是随机的,有可能是3秒钟一次,有可能是2秒钟一次。别的假如我是黑客,我能够发起多个ip的肉机来发送恳求。总归一句话,服务器上的防护,防得了正人,防不了高档的小人,可是有总比没有好。 代码等级的防护 。收集器能够仿照阅览器大部分的行为,可是必定有仿照不到的当地。比如说带参数的ajax恳求。从我的经历来看,你至少能够在经过以下三种 *** 来优化你的代码,以避免歹意收集。不过话说回来,不论你采纳哪种防护办法,想防住真实的高手是不可能的,只要能防住98%的人就能够了。剩余的那2%,你假如发现你的数据被收集了,就采纳法令办法吧。前段时刻群众点评申述“食神摇一摇”抄袭数据,便是一个很好的比如。
前情概要:梦里那点事系列文章(上) 0×05 弱口令是个好东西 忽然有这么多方针,一时间不知从哪下手,这个时分直觉告诉我,机关单位站点也许是突破口。 经历告诉我,此类网站的管理员往往缺少安全防护认识。...
TA505以运用歹意垃圾邮件和不同的歹意软件来进犯金融安排和零售企业而臭名远扬。研究人员在曩昔2个月检测到与TA505相关的进犯活动。在该安排的最近活动中,运用了HTML附件来传达歹意XLS文件,XL...
0x00 源起 从3月5日开端,腾讯反病毒实验室监控到很多闻名软件客户端存在开释下载器病毒的反常数据,预示着或许存在经过挂马方法大规模进犯闻名软件客户端的行为。电脑管家紧迫对相关数据进行剖析排查,终究...
当说到防止SQL注入的办法时,脑海中总是会想到运用PDO绑定参数的办法或许运用mysql_real_eascape_string()来处理(尽管陈旧的 mysql_XXX 这类的函数现已不主张运用)...
在开端咱们的MongoDB“注入之旅”之前,咱们需求先知道和其他数据库比较,为什么咱们更乐意选MongoDB——由于MongoDB并不是SQL作为查询句子,所以人们可能会认为这样的数据库难以进行注入进...
原本想用python DRF 的 JWT做,后来各种失利。终究尝试了用Php,发现十分便当。 PHP 版别 PHP 7.2.4-1+b2 (cli),也便是kali linux自带的php,至于com...