php referer 防盗链

初级的php程序员一定会想到,包括我在写这篇文章前


	if($_SERVER['HTTP_REFERER'] ...) //然后正则匹配也好,判断也好
	{
		header('XXX');
	}


可是这样只不过是自欺欺人,防盗链的目的,并不只是防止其他页面引用,而是缓解自家网站的压力

这样的写法,仅仅在一部分上缓解服务器压力,可是服务器依然要解析php,处理php,无法真正达到缓解服务器压力的目的


防盗链应该要从服务器入手配置

当然了,刚开始学习肯定是apache了


第一步,打开apache的httpd.conf文件


LoadModule rewrite_module modules/mod_rewrite.so 把这句开头的#号去掉

重启


第二步,在网站的目录下 创建 .htaccess 文件,普通的 右键 新建文件方式是行不通(windows系统),可以打开记事本

然后另存为,选择文件类型为所有文件,然后输入文件名


第三步.打开.htaccess 文件

写入

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png) [NC]
RewriteCond %{HTTP_REFERER} !localhost [NC]                    把localhost 换成你网站的域名
RewriteRule .*  小子别盗链.jpg               换成你想让对方看的图片


这样只要别人在网站引用的你网站上的图片,就只会显示 小子别盗链.jpg 内容


这只是 mod_rewrite 模块的一小个功能,说php好学的人,也只不过是了解了一小小部分而已.

你可能感兴趣的:(php)