好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php防采集干扰代码 php防采集干扰代码怎么用

很多站长朋友们都不太清楚php防采集干扰代码,今天小编就来给大家整理php防采集干扰代码,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 求一个好用的php函数正文防采集添加版权干扰字符 2、 PHP如何突破防采集 3、 ASP与PHP如何防采集? 4、 php如何防止网站内容被采集 求一个好用的php函数正文防采集添加版权干扰字符

/**

 * 正文干扰

 * 

 * @param $contents 正文

 * @param $num 干扰次数

 * 

 * @return string 有干扰字符的正文

*/

function ganrao($contents,$num=1){

$str=$contents;

$array = array (

'<p style="color:white">干扰字符1</p>',

'<div style="color:white">干扰字符2</div>',

'<span style="color:white">干扰字符3</span>',

'<p style="color:white">干扰字符4</p>',

'<font color="#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;

} 

echo ganrao($content,2);

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;

}

输入你想采集的网站就行了

ASP与PHP如何防采集?

最常用的防采集方法:1.每个文章的命名不要有任何规律,比如你的文章是<%=id%>.htm的话,请在前面或后面生成个日期,如:20070911-1234.htm,前面的就是日期了,这样对采集新手来说是非常有效的。2.不要把所有的文章都放在一个目录下,你可以利用日期生成不同的目录名。3.不要所有的文章都用一个模板,制作尽量多的模板,添文章的时候可有选要用哪个模板,一般采集者的采集程序是有针对性的,他在采集前会对你的页面进行分析,如果你所有的页面排版无规律可寻,那么我想他就会放弃了。以上三种方法能防住初级采集的,但是对高手来说没什么用。

下面三种方法用限制采集人的IP或SESSION的方法来达到防采集的目的。防采集方法一:(ASP代码):以下为引用的内容:

<%

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

%>

防采集第二种方法(ASP):以下为引用的内容:

<%

user_agent=Request.ServerVariables("HTTP_USER_AGENT")

http_reffer=Request.ServerVariables("HTTP_REFERER")

server_name=Request.ServerVariables("SERVER_NAME")

'检查当前用户是否是蜘蛛人

function check(user_agent)

allow_agent=split("Baiduspider,Scooter,ia_archiver,Googlebot,FAST-WebCrawler,MSNBOT,Slurp",",")

check_agent=false

for agenti=lbound(allow_agent) to ubound(allow_agent)

if instr(user_agent,allow_agent(agenti))>0 then

check_agent=true

exit for

end if

next

check=check_agent

end function

if check(user_agent)=False then

if http_reffer="" or left(http_reffer,len("http://"server_name)+1)<>"http://"server_name"/" then

%>

<html><body>

<form action='' name=checkrefer id=checkrefer method=post>

</form>

<script>

document.all.checkrefer.action=document.URL;

document.all.checkrefer.submit();

</script>

</body></html>

<%response.end

end if

end if

%>

防采集第三种方法:用Persistence为静态页面增加session功能 一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。 MicrosoftInternet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,让我们能够在当前会话过程中保存一些数据对象到客户端,减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。 Persistence技术有以下几种行为可供调用:· saveFavorite—当页面被添加到收藏夹时保存页面状态和信息

· saveHistory—在当前会话中保存页面状态和信息

· saveSnapshot—当页面被保存到硬盘时,保存页面状态和信息

· userData—在当前会话中用XML格式保存页面状态和信息

Persistence技术打破了以前使用cookies和session的传统,继承了cookies的一些安全策略,同时也增加了存储和管理数据的能力。我们的每个页面有64KB的用户数据存储容量,对于每个站点总计有640KB的存储上限。 Persistence技术存储的数据格式符合XML标准,所以可以使用DOM技术中的getAttribute和setAttribute方法来存取数据。 下面是一个Persistence技术的典型应用,通过对Persistence存储数据的分析,使得静态页面具有验证功能。 实际判断过程是这样的: 1.有三个对象:游客V、导航页面A、内容页面C

2.游客V只能通过导航页面A的链接才能看到内容页面C;

3.如果游客V是通过其它途径来访问内容页面C(比如通过其它网站的超链接、直接在IE地址栏中输入网址访问等),内容页面C将自动提示版权信息,显示空白页。

具体实现步骤: · 在“导航页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnSave用来授权。 以下为引用的内容:

<STYLE>

.userData {behavior:url(#default#userdata);}

</STYLE>

<SCRIPT language=Javascript>

function fnSave(){

oPersistDiv.setAttribute("bIsValid","true");

oPersistDiv.save("oXMLStore");

}

</SCRIPT>

· 在“导航页面”的<body>和</body>区域中定义一个层用来标识Persistence对象 <DIV CLASS=userData ID="oPersistDiv"></DIV> · 在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave: <a href='redhat2.htm' onmousedown="fnSave()"> 接下来,为“内容页面”加入验证功能。 · 在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。 以下为引用的内容:

<STYLE>

.userData {behavior:url(#default#userdata);}

</STYLE>

<SCRIPT>

var bPageValid=false;

function fnLoad(){

oPersistDiv.load("oXMLStore");

if((oPersistDiv.getAttribute("bIsValid"))

(oPersistDiv.getAttribute("bIsValid")=="true")){

bPass=true;

}

else{

bPass=false;

}

oPersistDiv.setAttribute("bIsValid","false");

oPersistDiv.save("oXMLStore");

if(bPass==false){

var sError="来源不明,请您通过授权网站访问我们.";

alert(sError);

location.href="about:blank";

}

}

</SCRIPT>

· 修改“内容页面”的区域如下:以下为引用的内容:

<BODY onload="fnLoad()">

<DIV CLASS=userData ID="oPersistDiv"></DIV>

***插入以上代码的页面需在同一个文件夹下,否则会出错。

从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。 使用多个带有session功能的静态页面可以完成众多复杂任务,如虚拟购物车,高级搜索引擎等。同时,由于将以前服务器端承担的部分session任务转移到客户端,减少了数据交互量,大大降低了服务器的负担。

php如何防止网站内容被采集

1、限制IP地址单位时间的访问次数

分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。

弊端:一刀切,这同样会阻止搜索引擎对网站的收录

适用网站:不太依靠搜索引擎的网站

采集器会怎么做:减少单位时间的访问次数,减低采集效率

2、屏蔽ip

分析:通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑Ip。

弊端:似乎没什么弊端,就是站长忙了点

适用网站:所有网站,且站长能够知道哪些是google或者百度的机器人

采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)。

3、利用js加密网页内容

Note:这个方法我没接触过,只是从别处看来

分析:不用分析了,搜索引擎爬虫和采集器通杀

适用网站:极度讨厌搜索引擎和采集器的网站

采集器会这么做:你那么牛,都豁出去了,他就不来采你了

4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中

分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件,那些文字没了风格,就显示出来了。

适用网站:所有网站

采集器会怎么做:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。

5、用户登录才能访问网站内容

分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为。

适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站

采集器会怎么做:制作拟用户登录提交表单行为的模块

关于php防采集干扰代码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php防采集干扰代码 php防采集干扰代码怎么用的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did207379
更新时间:2023-05-03   阅读:17次

上一篇: php请求url参数 php获取请求完整的url

下一篇:2019西安php 2019西安市传染病疫情分析

相关资讯

最新资料更新

  • 1.zendphp调试 调试教程
  • 2.朔州php后台开发 朔州php培训招聘
  • 3.phpapp页面 php app
  • 4.php环境配置工具 phpstorm2021配置php环境
  • 5.php梗怎么来的 php是什么意思饭圈
  • 6.phptoast弹框 php 弹框
  • 7.php瀑布流响应 html 瀑布流
  • 8.php做vip解析 php解析器是什么
  • 9.php编程实验总结 php简单实训项目
  • 10.如何知道php密码 php确认密码
  • 11.php美国东部时间 美国东部时间 换算
  • 12.php变下载文件 php 下载文件
  • 13.php代码的缺点 php的缺点是什么
  • 14.php类属性分类 php数据类型
  • 15.数组对象转为数组php 对象数组转string
  • 16.phpword导出 phpspreadsheet导出
  • 17.php版本怎么更新 php版本升级
  • 18.php个人博客ppt php博客模板
  • 19.php显示字段内容 php限制显示字数
  • 20.php实现小说目录的方法 php自动生成小说

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]