巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
赞助文档Help

PHP避免图片盗用(盗链)的体例小结

一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-26 09:03:48 阅读数: 148

本文实例总结了PHP避免图片盗用(盗链)的体例。分享给大师供大师参考,详细以下:

图片防盗链有甚么用? 避免别的网站盗用你的图片,华侈你可贵的流量。本文章向大师先容php避免图片盗用/盗链的两种体例

一、Apache图片重定向体例

设置images目次不充许http拜候

Apache办事器下避免图片盗链的体例

若是你的网站以图片为主,哪天发明月尾没到流量就快用光了,那就能够够操纵图片转向,在不点窜网页的前提下,把图片下载要求转向到别的空间(比方试用主机),姑且过渡。

上面起头讲授,比方你的图片都在img目次下,那就在该目次下放一个名为 .htaccess 的文件,内容以下:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
RewriteRule ^(.*)$ http://image.simcole.cn/image/$1 [L]

大要诠释下:

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcole.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

这局部是判定是不是盗链,若是以上前提都成立(即拜候图片的要求,既不是间接输出网址,也不是来自simcole.cn,也不是来自zhuaxia.com,也不是来自google.com,也不是来自baidu.com,也不是来自bloglines.com 的话),就履行以下转向:

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

意义是让一切盗链 img 目次下 jpg、gif、png、bmp、swf、jpeg 文件的网页,显现的图片都用 image 目次下的 replace.gif 图片替代掉。注重替代显现的图片不要放在设置防盗链的 img 目次下。若是照上面的法则判定出图片要求不是盗链的,就履行以下转向:

RewriteRule ^(.*)$ http://image.simcole.cn/image/$1 [L]

意义是对 img 目次下一切的要求都转向到方针办事器,比方有个图片本来的 url 是 http://www.bebecn.com/img/girl.jpg ,此刻就会转到 http://image.bebecn.com/image/girl.jpg 去。固然了你得先把原办事器 img 目次下的文件十足拷贝到姑且办事器的 image 目次下,转向才会真正可用。起到的结果便是把原办事器图片下载所占用的流量十足省下,让姑且办事器来蒙受了.

设置images目次不充许http拜候

把images目次设置成不充许http拜候(把图片目次的:读取、目次阅读 两个权限去掉)。

用一个PHP文件,间接用file函数读取这个图片。在这个PHP文件里停止权限节制。

apache情况中,在你的图片目次中加高低面这个文件便可。

文件名 .htaccess

文件内容以下

# options the .htaccess files in directories can override.
# Edit apache/conf/httpd.conf to AllowOverride in .htaccess
# AllowOverride AuthConfig
# Stop the directory list from being shown
Options -Indexes
# Controls who can get stuff from this server.
Order Deny,Allow
Deny from all
Allow from localhost

其余web情况如iss,nginx也近似。

class imgdata{
public $imgsrc;
public $imgdata;
public $imgform;
public function getdir($source){
$this->imgsrc = $source;
}
public function img2data(){
$this->_imgfrom($this->imgsrc);
return $this->imgdata=fread(fopen($this->imgsrc,"rb"),filesize($this->imgsrc));
}
public function data2img(){
header("content-type:$this->imgform");
echo $this->imgdata;
//echo $this->imgform;
//imagecreatefromstring($this->imgdata);
}
public function _imgfrom($imgsrc){
$info=getimagesize($imgsrc);
//var_dump($info);
return $this->imgform = $info["mime"];
}
}
$n = new imgdata;
$n -> getdir("1.jpg"); //图片途径,普通存储在数据库里,用户没法取得实在途径,可按照图片ID来取得
$n -> img2data();
$n -> data2img();

这段代码是读取图片,而后间接输出给阅读器,在读取和输出之前,停止用户权限判定。

这里说的PHP读取图片,不是指读取途径,而是指读取图片的内容,而后经由过程Header();输出图片范例,比方 gif png jpg等,上面输出图片的内容,以是用到了fread()

现实上,你看到 image.php?id=100 便是显现这张图片在阅读器上,而你检查源文件,看到的不会是图片的途径,而是乱码似的图片内容。

近似于qq空间的加密相册,只要输出暗码能力拜候,并且间接在阅读器输出 加密相册中的相片地点也是没法拜候。我今朝的设法是 图片的地点是一个php文件,经由过程 php 考证权限 ,读取图片,并输出,不晓得除如许的体例另有更简略高效的做法不?比方天生姑且的阅读地点,操纵一些 nginx 的一些防盗链插件?

你能够操纵ngx_http_auth_basic_module来完成。

点窜设置装备摆设文件

location / {
root /usr/local/nginx/html;
auth_basic "Auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
index index.php index.htm;
}

auth_basic "Auth"中的Auth是弹出框(输出用户名和暗码)的标题
auth_basic_user_file /usr/local/nginx/conf/htpasswd; 中的/usr/local/nginx/conf/htpasswd是保管暗码的文件

更多对于PHP相干内容感乐趣的读者可检查本站专题:《PHP图形与图片操纵手艺汇总》、《php文件操纵总结》、《PHP数组(Array)操纵手艺大全》、《PHP根基语法入门教程》、《PHP运算与运算符用法总结》、《php面向工具法式设想入门教程》、《PHP收集编程手艺总结》、《php字符串(string)用法总结》、《php+mysql数据库操纵入门教程》及《php罕见数据库操纵手艺汇总》

但愿本文所述对大师PHP法式设想有所赞助。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。

相干消息more

26
04月
PHP + plupload.js完成多图上

PHP + plupload.js JS插件完成多图上传并显现进度条加删除实例,空话未几说,间接上代码HTML代码:<!DOCTYPE... >>概况

23
04月
详解docker下的Mysql镜像的操纵体例

凡是初学者进修docker时,不太清晰若何拉取一个Mysql镜像并操纵,明天这篇文章简略先容一下操纵流程。一.预习一下用到的docker号令... >>概况

30
04月
操纵Ffmpeg取得flv视频缩略图和视频时

题目描写;取得flv视频的缩略图和视频时候长度谷歌了半天发明能够操纵Ffmpeg取得视频的一些信息,先先容一下FFMEPG 这里简略说一下:... >>概况

28
04月
php成立session的体例实例详解

本文实例报告了php成立session的体例。分享给大师供大师参考。详细阐发以下:保管session只要要两个步骤,开启session和保管... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站