基于apache伪静态重定向简单实例

1.图片防盗

  r.com/img.php:

<img src="http://r.com/img/logo.jpg"/>

.htaccess:
当来源不为空且不是以localhost开始,则判定为非法
RewriteCond %{HTTP_REFERER} !^$ #
RewriteCond %{HTTP_REFERER} !^localhost
RewriteRule ^(.*)\.(jpg|jpeg|png|gif)$ - [F,NC]

访问如下url能够显示图片
r.com/img/logo.jpg 不是以localhost开始
localhost/rewrite/img/logo.jpg 来源为空
localhost/rewrite/img.php 来源是 Referer: http://localhost/,不符合第二条件
无法显示的
r.com/img.php

 

2.限制访问者的IP列表

 添加扩展RewriteMap,txt内容如下

127.0.0.1 true
r.com true
http://r.com true
localhost true

 RewriteMap ipwhitelist txt:D:\phpstudy_pro\WWW\rewrite\ipwhitelist.txt #这一配置放在apache配置文件中,然后重启

 

RewriteBase /
RewriteCond ${ipwhitelist:%{REMOTE_ADDR}} !^true$
RewriteCond ${ipwhitelist:%{REMOTE_HOST}} !^true$
RewriteRule ^ - [R=400]

测试

r.com/img.php 访问正常

localhost/rewrite/img.php 提示400错误,用localhost地址访问时系统记录的ip是 ::1,映射文件里面没有这个值

 

posted @ 2020-11-30 16:33  coder_xds  阅读(152)  评论(0编辑  收藏  举报