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

 更新时间:2016年10月15日 14:26:42   作者:dengwz7788  
这篇文章主要介绍了php实现博客,论坛图片防盗链的方法,涉及php字符串结合session判定图片的相关操作技巧,需要的朋友可以参考下

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

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

先介绍一个函数

uniqid(string);
//这个函数的作用,是在你添加的字符串后面随即添加一个独一无二ID字符串。

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

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

function has($string)
{
if(!isset($string) || $string != $_SESSION["uniqid"])
{
exit;
}
}
//上面这个函数的意思是如果不存在字符串$string或者字符串不等于$_SESSION["uniqid"];
//则不执行下面的部分。

检测数字签证的函数以后写好了。接下来是怎么做了。都知道网页是从最顶部一直执行下来的。只要在顶部生出数字签证,在下面的函数中进行验证就可以了。

session_start(); //开去session功能
$uniqid = uniqid("dwz");
$_SESSION["uniqid"] = $uniqid;
//执行代码
has($uniqid); //进行数字验证

上面的最简答的防盗链的方式就完成了。回到正题,怎么防止图片的盗链?

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

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

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

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

$_SERVER['HTTP_HOST'];
//这样就可以获取服务器的url。但这个可以直接用代码修改.

获取发送请求URL这样,就可以进行验证,如果是你的URL则通过,不是则不执行。是一样的原理吧!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

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

相关文章

  • php使用crypt()函数进行加密

    php使用crypt()函数进行加密

    这篇文章主要为大家详细介绍了php使用crypt()函数进行加密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • PHP实现多个关键词搜索查询功能示例

    PHP实现多个关键词搜索查询功能示例

    这篇文章主要介绍了PHP实现多个关键词搜索查询功能,结合实例形式分析了php使用mysql中like、union等语句模糊查询相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • php实现的日历程序

    php实现的日历程序

    这篇文章主要介绍了php实现的日历程序,可实现基本的日历显示与实时查询功能,非常具有实用价值,需要的朋友可以参考下
    2015-06-06
  • 分享php邮件管理器源码

    分享php邮件管理器源码

    这篇文章主要为大家分享了php邮件管理器源码,一个简单的PHP邮件管理器,有详细的注释以及开发文档,欢迎大家学习下载
    2016-01-01
  • php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证

    php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证

    这篇文章主要介绍了php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证的方法,结合实例形式分析了PHP使用Header函数调用登录验证及PHP_AUTH_PW和PHP_AUTH_USER进行验证处理的相关技巧,需要的朋友可以参考下
    2016-05-05
  • PHP中调用ASP.NET的WebService的代码

    PHP中调用ASP.NET的WebService的代码

    创建一个C#的web service,这个就不多说了,我用vs2008的wizard创建了一个最简单的,让它运行在:http://localhost/webservice1/service1.asmx
    2011-04-04
  • php算法实例分享

    php算法实例分享

    本文给大家分享了几个常见的php算法的实例代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • 小谈php正则提取图片地址

    小谈php正则提取图片地址

    最近在开发程序的时候需要获取提取内容中的图片地址,这里简单分享下方法,需要的朋友可以参考下
    2014-03-03
  • Laravel SQL语句记录方式(推荐)

    Laravel SQL语句记录方式(推荐)

    下面小编就为大家带来一篇Laravel SQL语句记录方式(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • php file_get_contents取文件中数组元素的方法

    php file_get_contents取文件中数组元素的方法

    下面小编就为大家带来一篇php file_get_contents取文件中数组元素的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论