php防采集
‘壹’ wordpress文章怎么防止复制采集
wordpress防止复制代码方法
在后台-外观-编辑里面的“footer.php”文件里面的</body>标签之前加入
<html><head><title>本章原创文章,不能复制!</title></head><script>functionstop(){alert(“本站版权所有,禁止复制! “);returnfalse;}document.oncontextmenu=stop;</script><bodyonselectstart=”returnfalse”onpaste=”returnfalse”on=”returnfalse;”oncut=”returnfalse;”></body></html>
能够防止别人复制你的文章!
wordprss系统文章来源自动生成
禁止右击复制,其实对于用户来说不是很友好,所以也有人想出,利用下面这种方法,将文章来源信息自动在复制的时候生成,在wordpress的后台里面,在外观–编辑里面,选择footer.php里面,在</body>标签之前,加入下面这段代码,在复制的时候,就会自动生成“本文源自:##的博客(首页网址),详细参考来自:文章网址”
<script type=”text/javascript”>document.body.on = function (){setTimeout( function (){var text = clipboardData.getData(“text”);if (text){ text = text + “
本文源自:##的博客 (http://www.ke808.com),详细参考:“+location.href; clipboardData.setData(“text”, text);}}, 100 )}</script>
注意事项
不过很多浏览器自带屏蔽js脚本执行的功能,只要懂的此项技术的人,就可以利用这个屏蔽js脚本执行的功能,来复制文章,上面三种方法就无法凑效了!
‘贰’ php抓取数据
像这样采集的程序一般把循环的速度搞一下,如果太快,一个网速跟不上,一是服务器设置了防采集或是防CC攻击等,如果你每5分钟采集一次,这样,肯定不会受到限制,如果你一分钟采集100或是更多次这服务器会限制你访问,认为你是恶意攻击,明白?就像网络或google 机器人一样,如果不做限制采集过多,会把服务器拉死。
‘叁’ 求一个好用的php函数正文防采集添加版权干扰字符
/**
*正文干扰
*
*@param$contents 正文
*@param$num 干扰次数
*
*@returnstring 有干扰字符的正文
*/
functionganrao($contents,$num=1){
$str=$contents;
$array=array(
'<pstyle="color:white">干扰字符1</p>',
'<divstyle="color:white">干扰字符2</div>',
'<spanstyle="color:white">干扰字符3</span>',
'<pstyle="color:white">干扰字符4</p>',
'<fontcolor="#F5FAFE">干扰字符5</font>',
);
$list=explode('</p>',$str);
$list_total_num=count($list);
$array_total_num=count($array);
for($i=1;$i<=$num;$i++){
$rand_no=rand(0,$list_total_num-2);
$array_no=rand(0,$array_total_num-1);
$list[$rand_no].=$array[$array_no];
}
$result=implode('</p>',$list);
return$result;
}
echoganrao($content,2);
‘肆’ ASP与PHP如何防采集
你的内容如果有很多页的话,一定程度上可以通过session 变量,把页面的id 访问的时间存进去,然后删除5分钟前访问的页面的id,如果发现比如有5个不同的id在session里面。就直接返回主页上。当然这个方法也防了一般用户。这个限制的逻辑在于,一般用户是不可能在x分钟之内看超过y个界面。 x y 的定义自己来定.
‘伍’ 网页防采集策略
网页防采集策略
目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策:
一、判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问。
弊端:
1、此方法只适用于动态页面,如:asp\\jsp\\php等...静态页面无法判断某个IP一定时间访问本站页面的次数。
2、此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程。此方法也会拒绝搜索引擎蜘蛛收录站内文件。
采集对策:只能放慢采集速度,或者不采。
建议:做个搜索引擎蜘蛛的IP库,只允许搜索引擎蜘蛛快速浏览站内内容。搜索引擎蜘蛛的IP库的收集,也不太容易,一个搜索引擎蜘蛛,也不一定只有一个固定的IP地址。
评论:此方法对防采集比较有效,但却会影响搜索引擎对其收录。
二、用javascript加密内容页面
弊端:此方法适用于静态页面,但会严重影响搜索引擎对其收录情况,搜索引擎收到到的内容,也都是加密后的内容。
采集对策:建议不采,如非要采,就把解密码的JS脚本也采下来。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。
三、把内容页面里的特定标记替换为”特定标记+隐藏版权文字“
弊端:此方法弊端不大,仅仅会增加一点点的页面文件大小,但容易反采集。
采集对策:把采集来的含有隐藏版权文字内容的版权文字替掉,或替换成自己的版权。
建议:目前没有好的改良建议。
评论:自己感觉实用价值不大,就算是加上随机的隐藏文字,也等于画蛇添足。
四、只允许用户登陆后才可以浏览
弊端:此方法会严重影响搜索引擎蜘蛛对其收录
采集对策:目前落伍已经有人发了对策文章 ,具体对策就看这个吧《ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送》。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。
五、用javascript、vbscript脚本做分页
弊端:影响搜索引擎对其收录。
采集对策:分析javascript、vbscript脚本,找出其分页规则,自己做个对应此站的分页集合页即可。
建议:目前没有好的改良建议。
评论:感觉懂点脚本语言的人都能找出其分页规则。
六、只允许通过本站页面连接查看,如:Request.ServerVariables(“HTTP_REFERER“)
弊端:影响搜索引擎对其收录。
采集对策:不知道能不能模拟网页来源。。。。目前我没有对应此方法的采集对策。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。
从以上可以看出,目前常用的防采集方法,要么会对搜索引擎收录有较大影响,要么防采集效果不好,起不到防采集的效果。那么,还有没有一种有效防采集,而又不影响搜索引擎收录的方法呢?那就请继续往下看吧!
作者:pujiwang 2006-6-22 14:12:15 | 回复此帖子
广而告之:
2 回复:[转帖]网页防采集策略 防采集的一些思路的探讨
防采集的一些思路的探讨
关键词: 采集
1、用不同的模板
对于用程序的网站来说,不大可行,一个网站的模板最多也就几套吧。
2、使用robots禁止访问网页目录
这个方法可以有效的防止采集,不过将搜索引擎也封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
一个例子,Disallow 后面就是禁止访问的目录:
作者: 218.19.189.* 封 2006-10-20 11:35 回复此发言 删除
--------------------------------------------------------------------------------
2 [转帖]网页防采集策略
User-agent: *
Disallow: /admin
Disallow: /attachments
Disallow: /images
Disallow: /forumdata
Disallow: /include
3、使用HTTP_REFERER禁止采集,发现来自非本站连接就禁止察看叶面,就像前一段落伍im286.net防DDOS那个禁止调用一样。
这个方法可以比较有效的防止采集,不过也一样把搜索引擎封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
对高手无效,因为HTTP_REFERER可以伪造。但对一般使用采集的人来说,已经足够应付了。
例:
php
if(preg_replace("/https?://([^/]+).*/i", "1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
exit('警告----你的操作已经被禁止。http://www.ic98.com';);
}
4、使用HTTP_REFERER伪造内容
这个方法可以比较有效的防止采集,不过对于搜索引擎来说,查到的东西跟你伪造的东西一样的,可能会影响收录。(如有不对,请高手指出)
同上,对于高手无效。
5、使用java加密内容。
这个可能会比较有效,但是我对java一窍不通,也就不清楚如何入手了。
但我想,既然你这样使得别人采集到乱码,搜索引擎有可能也是收录到乱码的(我不清楚搜索引擎怎么工作,不过我猜测他们是察看网页源代码的。),也就影响收录。
6、使用java加密网址
同上,有可能让搜索引擎无法搜索到你的网页。
7、生成pdf文件、生成图片
这个方法可以比较有效的防止采集,不过照样让搜索引擎望而却止。
8、加上自己的版权信息
这个方法最大的好处就是不影响搜索引擎,效果马马虎虎,一般上可以让采集者采集到带有自己版权的稿件内容。但是对于可以过滤广告的采集程序来说,不大有效。
以下是作者给俺的PM:
Quote:
你的版权是不是加了你的网站和网址?
只要把网址和网站名替换成他的就可以了啊.这样还让他有了版权功能呢.
反正防采真是头疼....
有点麻烦,我的思路是将网站名称分成一个一个字来显示,他不可能将每个字都替换掉吧?不过要这样我就没办法了。比如说我将我的 武侠网 拆开,分成
武侠网
,$rand_color*是随机颜色,可以自己控制的,如果是动态网页的话,还配合HTTP_REFERER来搞随机,这样子随机性就更大了。一般上,尽量制造难度就是了。模板也可以制造随机性,几个相似的模板轮流来弄,这样子让人采集的难度更大。
不过说实话,要使他们真要搞,那是没办法的事,不过至少要花他们很多的时间去研究。在此之前,他们可能没耐性转向别的站了。
另外,最好不要让人知道你使用随机函数。一般人只是稍微看一下网页代码,就开始采集了。
作者:pujiwang 2006-6-22 14:13:53 | 回复此帖子
3 回复:[转帖]网页防采集策略
防采集程序
下午无聊写着完,写完后自己仔细看了看防止采集还是有一定的效果的,哈哈,要的拿去用吧!
<%
Dim AppealNum,AppealCount
AppealNum=10 '同一IP60秒内请求限制10次
AppealCount=Request.Cookies("AppealCount")
If AppealCount="" Then
response.Cookies("AppealCount")=1
AppealCount=1
response.cookies("AppealCount").expires=dateadd("s",60,now())
Else
response.Cookies("AppealCount")=AppealCount+1
response.cookies("AppealCount").expires=dateadd("s",60,now())
End If
if int(AppealCount)>int(AppealNum) then
response.write "歇一会儿吧!整天采集你烦不烦啊!"
response.end
End If
%>
作者:pujiwang 2006-6-22 14:16:31 | 回复此帖子
4 回复:[转帖]网页防采集策略
[讨论]防采集这几天上网,竟然也现我的整站被人家全部采集去了。晕倒,几年的资料就这样便宜人家。
还好,人家是个懒虫,栏目都不分,鬼才会去看。
这样才想起怎样防止采集的方法。
注意,只是讨论可行性,还没有提供解决方案。
采集与搜索引擎的机器人不同。采集需要对网页进行分析,以找到规则,分别对标题和内容进行读取并记录到数据库中。
如果我们能够把网页做成没有规则,采集也就无从入手了。
说到规则,我就想趣了空格。
空格这东西,在HTM的<>中,并不产生作用,也就是说,一个空格的位置,你多加几个也是没关系的。象<table>你可以写成< table>,<table >,< table >。都可以,所以,如果在网页里面,特别是采集程序重点分析的位置,我们利用程序,在这些位置加些空格,采集也就难以下手了,就算采到了,也就几篇而已,影响不大。
我准备这样做,象原来在模板中的<table>,我会改成<{$space1$}table{$space2$}>,在这里,{$space1$}和{$space2$}是自定义标签(也可以融合到程序中),然后在程序中使用随机数来决定这两个标签用多少个空格来代替。
呵呵,人家现在想用<table>来做为特征采集是完全做不到的了。但对于我的网页,显示上一点影响也没有,对于搜索引擎的机器人也一点影响没有。
我想这应该是最合适的方法。
希望做过采集或改过采集的讨论一下。
作者:pujiwang 2006-6-22 14:18:27 | 回复此帖子
‘陆’ PHP如何突破防采集
function get_resource($url)
{
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
echo $sourse = curl_exec($c);
curl_close($c);
return $sourse;
}
输入你想采集的网站就行了
‘柒’ php如何防止网站内容被采集
1、限制IP地址单位时间的访问次数
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。
弊端:一刀切,这同样会阻止搜索引擎对网站的收录
适用网站:不太依靠搜索引擎的网站
采集器会怎么做:减少单位时间的访问次数,减低采集效率
2、屏蔽ip
分析:通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑Ip。
弊端:似乎没什么弊端,就是站长忙了点
适用网站:所有网站,且站长能够知道哪些是google或者网络的机器人
采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)。
3、利用js加密网页内容
Note:这个方法我没接触过,只是从别处看来
分析:不用分析了,搜索引擎爬虫和采集器通杀
适用网站:极度讨厌搜索引擎和采集器的网站
采集器会这么做:你那么牛,都豁出去了,他就不来采你了
4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中
分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件,那些文字没了风格,就显示出来了。
适用网站:所有网站
采集器会怎么做:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。
5、用户登录才能访问网站内容
分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为。
适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站
采集器会怎么做:制作拟用户登录提交表单行为的模块
‘捌’ php怎么防止抓包工具
我是做数据采集的,
在我看来,除了输入验证码 , 没有什么能对我起到很好的防采集,
一般大的网站都是采用 网页加入一次性随机值 ,再有前端JS 生成秘钥 ,最后一并提交加密了的数据 ,这种没什么效果 。对一般的人可以做下防御 。但是,我只要找出它的JS加密函数 。 使用一个JS服务器(node.js),或php的 php 改写的js加密实现过程 ,加密初始值,再模拟发送 。所以,这个也没什么多大作用 。
对于验证码 ,一般简单的都可以程序识别 ,复杂的提交到前台让手动输入 。再一并发送。 这种用户体验不好。 慎行。
总的来说,建议用JS 加密吧 。
但是,还是防御不了。
我一般用 filefox 的 filebug 或 小提琴工具 。
目前大半年了,没有破解不了的网站 。
我用我的php程序 ,可以操作你的网站 。实现 用户操作 我的php程序 ,我的php程序 再去操作源网站 。
你可以去研究下 58同城网 的登录 。那里面一堆的加密 。 在我看来都是垃圾代码 。 我的程序一键登录进去。
‘玖’ 如何防止网站被采集
三种实用的方法。
1、文章头尾加随机广告..
2、文章列表加随机不同的链接标签,比如<a href="",<a class="dds" href=''
3、正文头尾或列表头尾添加<!--重复特征代码-->
第一种防采集方法:
下面我详细说一下这三种方法的实际应用:
如果全加上,绝对可以有效的防采集,单独加一种就可以让采集者头疼。。
完全可以对付通用的CMS采集程序。。
在采集时,通常都是指定头尾特征从哪到哪过滤.这里我们先讲第一种方法,文章头尾加随机广告..
随机广告是不固定的。
比如你的文章内容是"欢迎访问阿里西西",那么随机广告的加入方法:
<div id="xxx">
随机广告1欢迎访问阿里西西随机广告2
</div>
注:随机广告1和随机广告2每篇文章只要随机显示一个就可以了.
第二种防采集方法:
<!--<div id="xxx_文章ID">-->
其它标题或内容...
<!--<div id="xxx_文章ID">--> <div id="xxx_文章ID">
随机广告1欢迎访问阿里西西随机广告2
<--</div>-->
</div>
<--</div>-->
这是第二种防采集方法。在文章正文页面插入重复特征头尾代码的注释。
当然,这个可以用正则去掉,但足于对付通用的采集系统。。
第三种防采集方法:
第三种加在文章的列表,随便链接样式:
<a href="xxx.html">标题一</a>
<a alt="xxx" href="xxx.html">标题二</a>
<a href='xxx.html'>标题三</a>
<a href=xxx.html>标题四</a>
原理是让采集的人无法抓到列表链接规律,无法批量进行采集.
如果三种方法全部加上,我想一定能让想采集的人头疼半天而放弃的..
如果你还问,如何防止别人复制采集呢?要做到这一点容易,把你的网站的网线拔了,自己给自己看就好了.哈哈.
如果你的文章来自原创,那像可以加上版权声明,别人随意转载时,你可以要求对方删除你有版权的文章.
‘拾’ 终于碰到一个网站采集不了防采集怎么这么强
ajax加载的,cms这类的都采集不了。有老外写的php插件你可以找找。就可以