PHP防盗链文件下载的基本思想
2015-10-29 18:05
806 查看
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。做好防止盗链的工作,是每个网站开发者的重要工作。
做好防盗链工作能给网站服务器减少不少压力,这里分享一种php防盗链的实现方法:
一般的下载的步骤:查找->输出查找结果列表->进入软件详细页面->点击下载按钮->打开下载页面->点击下载,开始下载
方法就是在下载页面进行处理
1.在网站的公共文件里定义一个密钥,$key=sdkfjwojf32413
2.下载页面生成一个随机数:$certcode = '84615354' (每次生成新的,并保存到session)
3.用以上两个变量和软件的id拼凑在一起并用md5加密 $codekey=md5($id.$certcode.$key),并保存到session
4.生成软件的真实下载地址:file.php?id=5&codekey=ksfjwofsdkfsf
5.file.php里获取codekey和id进行对比进行重组对比
对codekey进么验证,不正确退出否则进行如下操作
1、删除相应的session
2、从数据库里读取软件地址,然后读取软件内容,并输出(用PHP的文件读取方法输出要下载的软件内容而不是直接给出下载地址)
做好防盗链工作能给网站服务器减少不少压力,这里分享一种php防盗链的实现方法:
一般的下载的步骤:查找->输出查找结果列表->进入软件详细页面->点击下载按钮->打开下载页面->点击下载,开始下载
方法就是在下载页面进行处理
1.在网站的公共文件里定义一个密钥,$key=sdkfjwojf32413
2.下载页面生成一个随机数:$certcode = '84615354' (每次生成新的,并保存到session)
3.用以上两个变量和软件的id拼凑在一起并用md5加密 $codekey=md5($id.$certcode.$key),并保存到session
4.生成软件的真实下载地址:file.php?id=5&codekey=ksfjwofsdkfsf
5.file.php里获取codekey和id进行对比进行重组对比
对codekey进么验证,不正确退出否则进行如下操作
1、删除相应的session
2、从数据库里读取软件地址,然后读取软件内容,并输出(用PHP的文件读取方法输出要下载的软件内容而不是直接给出下载地址)
相关文章推荐
- 极客学院-PHP003-部署 PHP 代码[3_28]
- php优化
- sftp 限制用户登陆指定目录(家目录)
- 在php添加mongo过程中出现的mongo.so: > undefined symbol: php_json_encode in Unknown on line 0. After installation mongo driver for php 的错误
- thinkphp 隐藏index.php
- PHP XDebug Sublime Text 单步调试
- php中利用array_filter过滤数组为空值
- PHP 获取图片信息exif
- php之菜单栏用递归显示
- 基础总结篇之六:ContentProvider之读写联系人
- 基础总结篇之七:ContentProvider之读写短消息
- 基础总结篇之八:创建及调用自己的ContentProvider
- PHP利用APC模块实现大文件上传进度条的方法
- contentprovider总结(二)
- contentprovider 总结(一)
- PHP Twig模版的function详解(中文)
- 极客学院-PHP002-PHP 开发环境搭建[4_36]
- PHP Twig模版的Filters详解(中文)
- php无限分类
- PHP实现远程图片下载