isapi_rewrite的防盗链使用方法与规则代码
2007-04-16 00:00
477 查看
httpd.ini设置如下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /Block.gif [I,O]
即可实现gif/jpg/png/exe/rar/zip文件的防盗链,盗链页面显示的是/Block.gif。Block.gif是一个体积较少的图片文件,我们可以在上面打上自己网站的版权标志和防盗链声明。
如果按照上面设置,则除本站以外的所有网站均不能使用这里的图片,如果要允许一些例外的网站比如google,baidu以及其它一些非营利性网站引用该怎么办呢?我们可以用如下正则表达式来实现
RewriteCond Referer: (?!http://(?:.*\.google\.com|www\.baidu\.com)).+
如果想需要给友情站使用,则可以如下设置:
RewriteCond Referer: (?!http://(?:*\.pspper\.net|*\.google\.com|*\.baidu\.com)).+
至此,一个相当有效的防盗链系统已经出来了,但如上设置有一个问题,如果浏览者浏览了盗链页面后访问本站页面,则被盗链图片的缓存会影响图片的正常显示。把
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改为
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
方可。参数N的意思是重新从站点请求文件而不是从本地缓存读取。
注意,由于流媒体不使用Referer,所以无法用此方法。
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /Block.gif [I,O]
即可实现gif/jpg/png/exe/rar/zip文件的防盗链,盗链页面显示的是/Block.gif。Block.gif是一个体积较少的图片文件,我们可以在上面打上自己网站的版权标志和防盗链声明。
如果按照上面设置,则除本站以外的所有网站均不能使用这里的图片,如果要允许一些例外的网站比如google,baidu以及其它一些非营利性网站引用该怎么办呢?我们可以用如下正则表达式来实现
RewriteCond Referer: (?!http://(?:.*\.google\.com|www\.baidu\.com)).+
如果想需要给友情站使用,则可以如下设置:
RewriteCond Referer: (?!http://(?:*\.pspper\.net|*\.google\.com|*\.baidu\.com)).+
至此,一个相当有效的防盗链系统已经出来了,但如上设置有一个问题,如果浏览者浏览了盗链页面后访问本站页面,则被盗链图片的缓存会影响图片的正常显示。把
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改为
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
方可。参数N的意思是重新从站点请求文件而不是从本地缓存读取。
注意,由于流媒体不使用Referer,所以无法用此方法。
相关文章推荐
- IIS真正能用的ISAPI-Rewrite防盗链规则写法
- 基于ISAPI Rewrite软件实现IIS图片防盗链方法
- nginx rewrite重写规则与防盗链配置方法教程详解
- ASP使用isapi_rewrite 3.0规则
- 30. 代码实例-设计模式-回调方式使用模板方法
- 《Flask Web开发——基于Python的Web应用开发实践》代码使用方法
- 使用STS或Eclipse配置内容助理(Java代码提示)的方法
- phpstorm代码片段使用方法
- .htaccess文件的创建 / 联动天下空间伪静态(isapi_rewrite)配置方法
- 使用nginx的rewrite实现代理指定文件夹命令方法
- PHP Session 变量的使用方法详解与实例代码
- SyntaxHighlighter代码加色使用方法
- PHP Session 变量的使用方法详解与实例代码
- Android代码混淆规则以及使用
- C#使用DllImport调用非托管的代码的方法
- Android Studio使用小技巧:提取方法代码片段
- 编写高质量代码改善C#程序的157个建议——建议101:使用扩展方法,向现有类型“添加”方法
- 合理使用“.NET扩展方法”来简化代码(例子:空值判断,利用扩展方法实现LINQ操作符ForEach)
- Win7 USB接口无法使用/驱动错误/该设备无法启动。(代码10) 故障解决方法
- 身份证规则验证java代码方法 非正则匹配