php 防盗链-PHP防盗链的基本思想&&防盗链的设置方法

2023-08-26 0 4,968 百度已收录

文章来自:脚本之家

看文章之前先来一组视频教程

2017 PHP从后端-前端-实战30套视频

关联:

密码:

网站盗链会消耗被盗链接网站的大量带宽,但真正的点击率似乎很小php 防盗,严重损害了被盗网站的利益。 本文主要介绍利用PHP实现防盗链的方法和基本思想。 希望对您有所帮助。 让我们来看看。

盗链是指服务提供商不提供服务本身的内容,通过技术手段绕过其他对最终用户有利的界面(如广告),直接在自己的网站上向最终用户提供其他服务提供商的服务内容,盗用最终用户的观看率和点击率。 受益者不提供资源或提供很少的资源,但真正的服务提供者却没有获得任何利润。 做好避免盗链工作是每个网站开发者的重要任务。

做好防盗链工作可以给网站服务器减轻很多压力。 这里分享一个php防盗链方法

实现方法:

通常的下载步骤为:搜索->输出搜索结果列表->进入软件详细页面->点击下载按钮->打开下载页面->点击下载开始下载

我的办法是在下载页面做文章

首先在网站的公共文件中定义一个$key=sdkfjwojf32413,相当于一个秘钥

在下载页面生成一个随机数:$certcode='84615354'(每次打开时生成的都不一样)

然后利用上面两个变量和软件的ID生成一个md5()加密的字符串

然后生成软件的真实下载地址:file.php?id=5&codekey=ksfjwofsdkfsf

这里的id是软件的序列号。 您可以根据它从数据库中找到软件地址。 $codekey=md5($id.$certcode.$key)

然后将证书代码保存到会话中,

从file.php的参数中获取codekey和id,从public文件中获取$key,然后从session中获取$certcode

验证codekey是否正确,如果不正确则退出php 防盗链,否则执行以下操作

1.删​​除会话(再次打开该地址将失效)

2、从数据库中读取软件地址,然后读取软件内容,输出(使用PHP文件读取方式输出要下载的软件内容,而不是直接给他下载地址)

这样,如果你想下载,就必须打开自己的下载页面,从你的下载页面打开地址就可以下载,但是每次下载地址都不一样,因为生成的随机数不一样

即使在其他地方连接到你的下载地址,也无法下载。

延伸阅读(具体实现):

1、简易防盗链

$ADMIN[defaulturl]="http://www.vvschool.cn/404.htm";//Hotlink返回的地址

$okaysites=array("http://www.vvschool.cn/","http://www.siyizhu.com");//白名单

$ADMIN[url_1]="http://www.vvschool.cn/temp/download/";//下载位置1

$ADMIN[url_2]="";//下载站点2,用这个推送

$reffer=$HTTP_REFERER;

如果($参考){

$是=0;

while(列表($domain,$subarray)=每个($okaysites)){

if(ereg($subarray,"$reffer")){

$是=1;

$theu="url"."_"."$site";

if($ADMIN[$theu]AND$yes==1){

header("位置:$ADMIN[$theu]/$file");

}别的{

header("位置:$ADMIN[defaulturl]");

}别的{

header("位置:$ADMIN[defaulturl]");

使用方法:将上面的代码保存为dao4.php,比如我测试用的validatecode.rar就在我的网站上,下面的代码用来表示下载连接。

文件名?站点=1&文件=文件

2、服务器防盗链

3、软件下载防盗链方法

//下载的软件根目录相当于当前脚本目录的相对目录

$fileRelPath="../../软件";

// 例外允许连接的网址,注意:自己的域名不需要填写,设置一下确保可以下载,

//空字符串("")表示直接输入URL下载的情况

$excludeReferArr=array("www.wreny.com","wreny.com");

chdir($fileRelPath);

$fileRootPath=getcwd()."/";

$filePath=$HTTP_GET_VARS["文件"];

$url=parse_url($_SERVER["HTTP_REFERER"]);

if($url[host]!=$_SERVER["HTTP_HOST"]&&!in_array($referHost,$excludeReferArr)){

虽然防盗链的方法有很多,但这里只是提供一个大概的思路作为参考:

(1)IIS防盗链,借助ISAPI_Rewrite,可以作为Windows下防盗链的解决方案;

(2)图片防盗链,给图片添加水印,盗链者虽然可以达到目的,但也是在宣传自己的网站。

以上就是PHP防盗链的基本思路和设置方法,希望对您的学习有所帮助。

下面的二维码是小编的微信公众号。 小编每天晚上还会在同学圈分享文章和视频教程。 有需要的朋友可以加入小编一起学习!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 防盗链-PHP防盗链的基本思想&&防盗链的设置方法 https://www.wkzy.net/game/159749.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务