PHP实现防盗链的方法分析

本文实例讲述了PHP实现防盗链的方法。分享给大家供大家参考,具体如下:
$_SERVER['HTTP_REFERER']的获取情况
注意 $_SERVER['HTTP_REFERER'] 并不一定总能获取到,只有在以下情况下才能获取到:
一、能够取到HTTP_REFERER的情况为以下几种:
1.直接用
2.用Submit或<input type=image>提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)

二、不能取到的情况有以下几种:
1.从收藏夹链接
2.单击”主页”或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.<%Response.Redirect%>
6.<%Response.AddHeader%>或转向
7.用XML加载地址
strrpos函数讲解:
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
说明
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
返回字符串 $haystack 中 needle 最后一次出现的数字位置。
$haystack 在此字符串中进行查找。
$needle 如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。

返回值
返回 needle 存在的位置。如果没有找到,返回 FALSE。
盗链判断代码:asd.php

';
  }
  else{
    header("Location:warning.php");//跳转页面到warning.php
    //echo $_SERVER["HTTP_REFERER"];
  }
}
else {
  header("Location:warning.php");
}
?>

warning.php

倒链

防盗链验证代码

Insert title here
验证防盗链

上面是理解原理
一般通过配置服务器防盗链,如nginx配置访问
(gif|jpg|jpeg|png|bmp|swf) 等文件的白名单

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/4001.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2017年12月7日 11:08
下一篇 2017年12月8日 11:30

相关推荐

  • PHP商城开发中如何构建社交功能

    社交分享在现代互联网应用程序中变得越来越重要。作为一名PHP商城开发者,您可能需要在您的应用程序中添加社交分享功能来增加用户的参与。这个功能可以允许用户在社交媒体平台上分享他们的购物体验,从而增加贵商...

    2023年5月18日
    00
  • 如何在PHP中进行第三方组件的使用和集成。

    PHP是一门功能非常丰富的编程语言,开源的特性也使得PHP在Web开发中被广泛应用。作为一个成熟的编程平台,PHP拥有很多优秀的第三方组件,它们可以帮助开发人员更快速、高效地开发出优秀的Web应用。本文将从基础内...

    2023年5月22日
    01
  • PHP与数据加密的集成。

    随着互联网的不断发展和计算机技术的不断提升,数据安全问题越来越受到关注。在很多应用领域中,需要通过加密来保护重要数据的安全性。而在这个过程中,选择一种可靠的加密算法和一个合适的编程语言来实现加密操...

    2023年5月21日
    00
  • PHP中的composer操作指南。

    随着PHP语言的不断发展,PHP开发生态圈也在不断壮大。在这个生态圈中,Composer已经成为了PHP项目中广泛使用的依赖管理工具之一。Composer不仅简化了PHP项目的依赖管理和引入,还能优化应用程序架构并提高开发效...

    2023年5月23日
    05
  • PHP开发中的API接口创建详解。

    随着互联网的快速发展,API接口在现代Web应用中扮演着越来越重要的角色。作为PHP开发者,了解如何创建API接口是非常必要的技能。本文将详细介绍PHP开发中API接口创建的基本内容。什么是API接口?API是Application...

    2023年6月3日
    03
  • PHP实现即时通讯聊天消息发送功能。

    随着互联网的不断发展,即时通讯已经成为现代社会日常沟通的主要形式,因此实现即时通讯聊天消息发送功能成为了各个网站和应用程序的必备特性。本文将介绍PHP实现即时通讯聊天消息发送功能的步骤和注意事项。一、...

    2023年5月23日
    011
  • PHP字符串类型string

    js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串: var  str1 = ‘单引号字符串’ var   str2 = “双引号字符串”; 但在php中,单引号和双引哈字符串,是有不同细节含义的字符串。   php中,有4种字...

    2018年3月14日
    0328
  • php如何使用Symfony6框架。

    Symfony6是一款流行的PHP框架,它提供了一种快速、安全和可靠的方式来建立Web应用程序。如果你是一名开发人员,你需要学会如何使用Symfony6框架。在本文中,我们将为您介绍Symfony6框架,并提供有关如何在PHP中使...

    2023年6月3日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息