欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php referer 防盗链

程序员文章站 2022-05-15 16:50:19
...

初级的php程序员一定会想到,包括我在写这篇文章前 if($_SERVER['HTTP_REFERER'] ...) //然后正则匹配也好,判断也好{header('XXX');} 可是这样只不过是自欺欺人,防盗链的目的,并不只是防止其他页面引用,而是缓解自家网站的压力 这样的写法,仅仅在一部分上缓

初级的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好学的人,也只不过是了解了一小小部分而已.