防止数据被采集的最终解决方法(来自网络大本营)

[复制链接]
查看11 | 回复7 | 2021-1-27 07:16:21 | 显示全部楼层 |阅读模式
本人提出的解决方法有:
一,代码Id变通方法。
大家可能会知道,一个Table里面可以有Id,而td也可以有Id(对于Tr是否可以有一个Id,我没有试过,你自己可以试试,加一个Id,如果能正确显示,那就说tr加一个Id都是可以的),甚至Span、Div也可以有一个Id,我们利用Id变化来使得页面模板结构似是而非。什么意思??下面我演示一个代码给您看看:
[Tr]
[Td]
信息标题
[/Td]
[/Tr]
[Tr]
[Td]
信息标题
[/Td]
[/Tr]

看到了吗??
Id:
xrssOne
xrssTwo
xrssThree
xrssFour
xrssFive
这五个Id,如果在程序里面用一个随机数来控制,那就是每个页面结构的都不是一样的咯(不相同的是Id),这样就可以有效的打乱了页面相同结构的模板。
对于这五个Id怎么随机法?不防这样,就用时间,用Asp语言实现如下:
xrssOne=minute(Mow())
xrssTwo="zrb"&minute(Mow())
xrssThree=Hour(Now())
xrssFour="xrss"&Hour(Now())
xrssFive="www.xrss.cn"&minute(Mow())&Hour(Now())
(当然ID生成也可以根据其它函数,如文本入库时间,随基数.....)
这个是动态页面的处理方法。
如果静态页面的生成方法,可以用到Replace函数将模板中相关ID替换掉,当然记得一定要在模版中修改、添加以上ID。
由于页面的信息代码远不如一两个table的,所以Id越多,越难采集;页面代码越多,越复杂,代码唯一的可能性越少,采集的机会越少。
二,内嵌Js方法,这个方法算是盲羊补牢之方法。
就是在信息代码中内嵌Js方法,一般来说,数据采集一般会对页面的源代码进行分析,但是不会对信息内容进行分析,就算采集者对页面中的内容进行替换,你也可以用一些没有使用的域名或者很特别的命名来达到效果。对于信息内容内嵌Js代码,这个动作可以在信息显示页面进行嵌入或者在信息入库中进行嵌入(最好是在显示信息的时候嵌入),如:您要插入一个“”Stop.Js文件,这个可能要你在信息入库的时候插入一个特别的字符,在信息内容显示的时候把这个特别的字符替换为字符。在Stop.Js文件中,你可以放自己的广告.....之类,下面会有一个更狠的,下面慢慢给您解说。如果您不想在信息内容入库的时候插入特别的字符,你可以根据您内容的特点,如IT类文章肯定有
这些字符,处理的时候,随机地选择其中的一个替换为
,记得加上
哦。使用内嵌Js方法的时候要注意:
1,Js文件记得要绝对页面路径。就是一定要用http://www.xrss.cn/Js/Stop.Js,不能用/Js/Stop.Js,防止内嵌Js失效。
2,Js的链接域名尽量特别。比如新开一个二级域名,或者非本信息显示页面的域名。
3,Js的文件名尽量复杂。我这里为了好说明问题,所以特别使用stop.Js文件名,但是真正要使用的时候,文件名要设置为很特别的那种,防止采集的小偷识别出来而进行替换。
3,内嵌的Js后辍名的问题。由于Js保存的后辍名不一定要为Js,可以保存为Gif或者没有.Js......之类的,这样更加防止这个Js代码被发现。最好保持为Gif后辍名,因为可能有些采集工具,如果后辍名为Gif的被一起保存在它的服务器上,虽然被保持,但是里面的Js内容为您自己写的,如果写一些下载木马之类的代码在里面,呵呵。
在这里说说Js里面内容代码的问题,如果您感觉那个小偷程序很讨厌,可以在Js代码里面放入您的内容,如:
1,您自己的广告内容,呵呵,让对方给您也做广告(这个,采集者可能很容易发现)
2,写一个代码跳转的程序,如:
varpageUrl="";
pageUrl=window.location;
pageUrl=pageUrl.toString()
if(pageUrl.indexOf('xrss.cn')==-1&&pageUrl.indexOf('pclala.com')==-1)
{
alert('错误提示:该页面为盗链程序!')
location.href='http://www.xrss.cn/'
}
呵呵,这个代码一经过启用,呵呵
3,放置木马下载之类的内容,就是在代码中连接其它的动态语言程序,呵呵,这个尽量少用吧,呵呵。

三,代码重复注释法(2007-1-229:49增加更新)
这个方法是最近想出来的,为了尽量对原页面模板做少量的更改而想出来的方法。我们都知道目前的小偷采集都是针对页面的源代码进行截取,而截取的内容,最起码StartStr(开始字符串)OverStr(结束字符串)这两个标识码至少有一个是唯一的,呵呵,我们只要在页面中重复可能作为标识的字符串,怎么重复法??呵呵,我们都知道,在页面代码中,只要是都是没有解释出来的,就是不影响页面的,所以我依据这个原理做一个示范,如:
[TR]
[TD]
信息显示的内容
[/TD]
[/TR]


我们只要在这个代码之前加一个标识:

[TR]
[TD]


-->
在代码方面再加一个
[/TD]
[/TR][/table]
-->
最后代码变为:

[TR]
[TD]


-->
[TR]
[TD]
信息显示的内容
[/TD]
[/TR]

[/TD]
[/TR][/table]
-->
呵呵,依据这个原理,你可以对页面中的标题名,信息内容进行设置。
最后加一点技巧:
在一个页面中如果你确定不了标识码(就是上面所说的:StartStr和OverStr),可以结果上面的方法一,对table进行Id随机设定,如上面的中的32如果是随机变化的话,还有如果
[/td]
[/tr]
[/table]
为什么可以这样呢,因为标识码要唯一,如果ID是变化的,标识码就不唯一了,所以我们只要把两个变化Id中间的代码注释掉就可以了。
呵呵!

最后再提一个防止采集的方法,我的一个网友提供的,就是在IIS站点或者服务器中把那个采集的来源Ip屏蔽掉,呵呵,这个需要自己可以管理服务器才可以使用的方法,而且前提是知道那个采集的来源IP,这可能要弄一个统计系统,监测采集来源资料。

文章太长,具体请看:
http://www.xrss.cn/Info/8351.Html
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
藏拙论坛必杀采集器1.0正式发布,欢迎大家踊跃消灭你心目中理想的论坛!
文件名称:SpiderArticle.rar
采集效果:http://test3.cangzhuo.com
采集速度:20秒采集一篇文章!
采集范围:全世界任何论坛或网站列表文章!

免费下载地址:http://cangzhuo.cangzhuo.com/blog/item/72a18f602b3311dd8000333800003238.html
欢迎各位专家批评指正!

回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
把网站放家里,不接网络.然后卖票访问...
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
一般找table的标签!
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
不容易防住啊.
现有个采集程序,只采集文本直接不读代码你代码怎么防都无效.
时间间隔设置为正常浏览速度左右.
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
限制IP就可以防住一大半。

回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
没用的!采集都用正则了!你不让人访问就没法采了,这是唯一的方法,截图的都有,你这小CASE了
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
引用2楼mrshelly的回复:把网站放家里,不接网络.然后卖票访问...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行