求助:php如何防止图片盗连 比如:我有一个商品出售的网站,为了保证网站访问速度我想禁止图片盗连,也就是禁止在别的网站直接引用路径访问我网站的图片(就像163想册那样,如果违规访问提示错误!!),不知道用php代码如何实现呢?希望大家能帮忙提供一下解决方案,讲下原理,提供个代码吧~~~!谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .htaccess 方法RewriteEngine onRewriteCond %{HTTP_REFERER} !^$ [NC]RewriteCond %{HTTP_REFERER} !your.com[NC]RewriteCond %{HTTP_REFERER} !google.com [NC]RewriteCond %{HTTP_REFERER} !baidu.com [NC]RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]RewriteRule ^(.*)$ http:\/\/your.com\/image\/$1 [L] 谢谢朋友们的热情解答!除了修改服务器端的设置,不知道有没有通过编写php网站代码可以实现的办法呢? 和一楼一样,判断HTTP_REFERER$_SERVER['HTTP_REFERER']根据这个变量取得域名,如果不是你网站的,就返回盗链 盗连直接调用网站的图片路径,例如:http://www.163.com/images/index.jpg不知道应该把判断HTTP_REFERER 加在什么地方呢?直接引用路径似乎网站的php文件也不触发吧,有怎样调用判断HTTP_REFERER ! 图片放非web目录程序读取或转换目录 如果不能用.htaccess控制,又不能修改服务器那只能用PHP输出图片images:或者其它乱七八糟的asdfasdfasdfasfd之类,加上搜索BOT不能访问文件的文件夹,里面文件后缀随便index.php?id=XXX形式访问<?if($_SERVER['HTTP_REFERER']=='your.com' | $_SERVER['HTTP_REFERER']==''){ Header("Content-type: image/gif"); $image=$_GET["id"]; $wFile='./img/'.$image.'.gif'; $im=imageCreatefromgif($wFile); $imgw=imagesx($im); $imgh=imagesy($im); ImageGIF($im);}else{ echo '<img src="daolian.gif">';}?>试试这样,牺牲点性能 办法还是有的,不过估计你也用不了。把图片以2进制流的方式存入数据库,再用PHP读取输出,这个可以非常非常耗资源的。这是唯一一个不修改服务器相关配置的方法。 speedphp框架中如何使用memcache? 求一个thinkPHP的教程 自己实在实现不了这个函数了,请大家帮忙 用软件修改php.ini的方法 正则表达式的问题,看起来简单,但是我就是实现不了...在线等候,成功马上给分 如何将Access中的数据导入到MySql中? 求求你帮帮我吧! 请问,这个正则表达式什么意思?谢谢! 替换表情字符串的正则表达式求助~~ 在php中怎样实现文件的下载 用PHP开发一个聊天室有哪些方案? 请问:在PHP程序中如何使用Shell命令执行Linux的Shell脚本? 急急急,关于mysql和php配合接收与入库数据的奇怪问题,在线等
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !your.com[NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]RewriteRule ^(.*)$ http:\/\/your.com\/image\/$1 [L]
$_SERVER['HTTP_REFERER']
根据这个变量取得域名,如果不是你网站的,就返回盗链
不知道应该把判断HTTP_REFERER 加在什么地方呢?
直接引用路径似乎网站的php文件也不触发吧,有怎样调用判断HTTP_REFERER !
程序读取或转换目录
那只能用PHP输出图片images:或者其它乱七八糟的asdfasdfasdfasfd之类,加上搜索BOT不能访问文件的文件夹,里面文件后缀随便
index.php?id=XXX形式访问
<?
if($_SERVER['HTTP_REFERER']=='your.com' | $_SERVER['HTTP_REFERER']=='')
{
Header("Content-type: image/gif");
$image=$_GET["id"];
$wFile='./img/'.$image.'.gif';
$im=imageCreatefromgif($wFile);
$imgw=imagesx($im);
$imgh=imagesy($im);
ImageGIF($im);
}else{
echo '<img src="daolian.gif">';
}
?>
试试这样,牺牲点性能