php实现博客,论坛图片防盗链的方法

前端之家收集整理的这篇文章主要介绍了php实现博客,论坛图片防盗链的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_0@本文实例讲述了PHP实现博客,论坛图片防盗链的方法分享给大家供大家参考,具体如下:


@H_4040@防盗链的方式很多,我这里就说说我对放盗链的理解,这个跟防止远程提交是一个原理。


@H
404_0@先介绍一个函数


<div class="jb51code">
<pre class="brush:PHP;">
uniqid(string);
//这个函数的作用,是在你添加的字符串后面随即添加一个独一无二ID字符串。

@H_404_0@如果你还不放心,你可以给这个函输出的字符串再用SHA1()函数进行加密。

@H_404_0@这样我们得到了一个独一无二,且只有你自己知道的字符串,用来做数字签证。接下来是如何检测这个数字签证。

PHP;"> function has($string) { if(!isset($string) || $string != $_SESSION["uniqid"]) { exit; } } //上面这个函数的意思是如果不存在字符串$string或者字符串不等于$_SESSION["uniqid"]; //则不执行下面的部分。
@H_404_0@检测数字签证的函数以后写好了。接下来是怎么做了。都知道网页是从最顶部一直执行下来的。只要在顶部生出数字签证,在下面的函数中进行验证就可以了。

PHP;"> session_start(); //开去session功能 $uniqid = uniqid("dwz"); $_SESSION["uniqid"] = $uniqid; //执行代码 has($uniqid); //进行数字验证
@H_404_0@上面的最简答的防盗链的方式就完成了。回到正题,怎么防止图片的盗链?

@H_404_0@这个更简答。当我们查看网站图片源码的时候会发现,存储图片有二种路径:一种是相对路径,一种是绝对路径

@H_404_0@相对路径的意思是:图片在你的服务器上面。

@H_404_0@觉得路径的意思是:图片可以在你的服务器上面,也可以不在你的服务器上面。

@H_404_0@如果不在你的服务器上面,那就有一个URL地址或者IP地址。这个就是我们防盗的关键所在。

PHP;"> $_SERVER['HTTP_HOST']; //这样就可以获取服务器的url。但这个可以直接用代码修改.
@H_404_0@获取发送请求URL这样,就可以进行验证,如果是你的URL则通过,不是则不执行。是一样的原理吧!

@H_404_0@更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《

@H_
404_0@希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章