PHP中HTTP防盗链技术

 盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

其实说白了就是我自己网站上不挂东西,直接从你的网站远程访问,这样一来节约了自己的空间,而来很多东西可以直接用别人的。比如你看到一篇好的文章直接复制到自己博客,可能不小心把a链接也复制过来了,然后你的文章就指向别人的网站,继续这篇文章调用别人网站的资源。

http防止盗链技术,利用http的全局函数 $_SERVER['HTTP_REFERER']参数来判断。

其中 $_SERVER为全局函数,包含很多常用数据 $_SERVER['HTTP_REFERER'] 为转调过来网站地址

再利用字符串函数 strops 返回字符串在另一字符串中首次出现的位置(对大小写敏感)

然后 strops( $_SERVER['HTTP_REFERER'] ,'http://www.ilkhome.cn');

具体的函数为:

//判断是否有转调过来的url    
    if(isset( $_SERVER['HTTP_REFERER'] )){    
        //如果没有转调的url HTTP_REFERER为空    
        if( strops( $_SERVER['HTTP_REFERER'] ,'http://www.ilkhome.cn) ){    
            header('Location:ok.php');    //如果是本网站连接
        }else{    
            header('Location:err.php');  // 如果不是本网站连接 转调到错误页面     
        }   
    }else{
    header('Location:err.php');  // 如果路径为空则认为不合法   
    }

屏蔽除了自己网站之外的其他链接访问网站资源,这样可以保护好自己的流量和资源。

可能其实写的有点问题,有问题欢迎指出。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏申龙斌的程序人生

零基础学编程039:生成群文章目录(2)

每个月的月底,“分享与成长群”要汇总所有成员的原创文章,这次我改用了水滴微信平台把数据采集到一个电子表格文件中。在《零基础学编程019:生成群文章目录》这一节里...

31080
来自专栏Golang语言社区

golang websocket总结(问题贴)

因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了...

43970
来自专栏java一日一条

怎样编写高质量的Java代码

怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍。也请有过代码...

20810
来自专栏DannyHoo的专栏

利用plist文件查看后台返回数据的数据类型

当看客看到标题的时候或许会有些疑惑,有的人甚至会鄙视写者。查看后台返回的数据类型为什么要用plist文件,这也太麻烦了吧。我既然写这篇博客,肯定是有一定的原因的...

11610
来自专栏精讲JAVA

怎样编写高质量的Java代码

代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍...

460100
来自专栏Python爱好者

Java基础笔记01

34060
来自专栏平凡文摘

怎样编写高质量的Java代码

18730
来自专栏微服务生态

Akka简单的性能测试

这种方案是采用MQ作为中间的媒介,在服务端采用线程池异步处理任务,处理完成之后将结果发送到MQ中,客户端采用侦听的方式得到结果继续进行处理。

23310
来自专栏技术专栏

慕课网Flask高级编程实战-9.书籍交易模型(数据库事务、重写Flask中的对象)

我们的鱼书有一个经济系统,在上传一本书的时候,将获取0.5个鱼豆。赠送一个本书的时候,再获取1个鱼豆。索要一本书的时候,消耗一个鱼豆,其中赠送和索要书籍是用户之...

20520
来自专栏Java技术分享圈

杨老师课堂_Java教程第一篇之认识计算机

*接下来就是确定、确定、确定就ok! *检验环境变量是否成功在DOS命令行里输入javac或java,如果正常显示一些内容,说明安装成功并且配...

12520

扫码关注云+社区

领取腾讯云代金券