Apache 模块 mod rewrite RewriteCond 通过检查HTTP REFERER避免
大家好,又见面了,我是你们的朋友全栈君。
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
Apache – 模块 – mod_rewrite – RewriteCond – 通过检查HTTP_REFERER避免静态图片盗链对性能有严重影响
在避免静态图片盗链时,可以用RewriteCond检查referer,如果不是来自于特定的网站或搜索引擎,则转向另一个页面。在使用这些 RewriteCond和不使用之间作比较,每条RewriteCond将降低速度1%以上,随着这个列表的增长,对于速度的影响将进一步突出。因此使用 大量RewriteCond来保护静态内容的方案,虽然能减和网络流量,但是也会消耗服务器性能。在具体使用过程中一定要平衡各方面条件。
[例1]
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !suixie.com[NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteCond %{HTTP_REFERER} !bloglines.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteRule .* new.html [L] RewriteRule .* old.html [L]
[例2]
RewriteEngine on RewriteCond %{HTTP_REFERER} !^ RewriteCond %{HTTP_REFERER} !^http://newsight.net/.* [NC] RewriteCond %{HTTP_REFERER} !^http://nsncity.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](www.)?newsight.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](www1.)?newsight.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](www.)?nsncity.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](gallery.)?newsight.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](club.)?newsight.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](club.)?nsncity.net/.* [NC] RewriteCond %{HTTP_REFERER} !^[url=http://]http://[/url](exec.)?newsight.net/.* [NC] RewriteRule .(gif|GIF|jpg|JPG|png|PNG|swf|SWF|pdf|PDF|js|JS|css|CSS)
类似的,检查HTTP_USER_AGENT来防止网络爬虫也需要谨慎。
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] RewriteCond %{HTTP_USER_AGENT} ^Bot/ mailto:craftbot@yahoo.com [OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] RewriteCond %{HTTP_USER_AGENT} ^Download/ Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^Express/ WebPictures [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Image/ Stripper [OR] RewriteCond %{HTTP_USER_AGENT} ^Image/ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} Indy/ Library [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] RewriteCond %{HTTP_USER_AGENT} ^Internet/ Ninja [OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] RewriteCond %{HTTP_USER_AGENT} ^JOC/ Web/ Spider [OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Mass/ Downloader [OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown/ tool [OR] RewriteCond %{HTTP_USER_AGENT} ^Mister/ PiX [OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Net/ Vampire [OR] RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline/ Explorer [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline/ Navigator [OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^Papa/ Foto [OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport/ Pro [OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] RewriteCond %{HTTP_USER_AGENT} ^Web/ Image/ Collector [OR] RewriteCond %{HTTP_USER_AGENT} ^Web/ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] RewriteCond %{HTTP_USER_AGENT} ^WebGo/ IS [OR] RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] RewriteCond %{HTTP_USER_AGENT} ^Website/ eXtractor [OR] RewriteCond %{HTTP_USER_AGENT} ^Website/ Quester [OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon/ WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule ^.* – [F,L]
[Apache – 关键词]
apache
[Apache – 常用模块]
mod_alias mod_rewrite
[mod_rewrite模块 – 关键词]
httxt2dbm mod_rewrite ornext RewriteBase RewriteCond RewriteEngine RewriteLog RewriteLogLevel RewriteMap RewriteRule
[mod_rewrite模块 – 常见用途]
改变查询参数的设定位置
[mod_rewrite模块 – 标记]
RewriteLog, 设置重写引擎日志的文件名
[mod_rewrite模块 – RewriteCond重写条件]
通过检查HTTP_REFERER避免静态图片盗链对性能有严重影响
[mod_rewrite模块 – RewriteRule重写规则]
匹配任意字符串时,可以借助正则表达式的灵活特性
[mod_rewrite模块 – 常见问题]
RewriteRule中的正则表达式需要考虑是否要加上^(匹配字符串开头)
RewriteRule中的正则表达式需要考虑是否要对.转义(匹配任意字符还是仅匹配.字符)
RewriteRule中的R标记用于发送重定向
与PHP集成时不需要对$_GET额外处理
[mod_alias模块 – 常见问题]
RedirectMatch用于简单的重定向
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146130.html原文链接:https://javaforall.cn
相关文章
- 大数据Apache Druid(四):使用Imply进行Druid集群搭建
- Apache和Nginx有什么区别
- nginx和apache那个好更好,我们应该如何选择
- nginx php apache php 对比,Apache和nginx的比较「建议收藏」
- Apache 虚拟主机
- Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeepe
- Apache配置虚拟主机_apache中配置虚拟主机的作用
- Apache配置虚拟主机_apache启动但是访问不到
- Spark SQL报错:org.apache.spark.sql.catalyst.errors.package$TreeNodeException 排查记录
- Spring错误:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.B详解编程语言
- 搭配Apache MySQL:超强联手服务器助力(apache和mysql)
- Linux 下 Apache 服务器安装指南(linux安装apache)
- apache深度探索Linux下的Apache服务器(linuxgt)
- 在Ubuntu 14.04 LTS系统中设置Apache虚拟主机
- 安装mpm-itk模块让 apache 以本地用户身份运行网站
- 实现Linux搭建Apache服务器的简单指南(linux装apache)
- 解决多种web问题Linux下Apache解决多种Web问题:让你的网络更安全可靠(linux下apache)
- 深入探究:Linux下Apache的应用与优势(linux的apache)
- 以Apache、MySQL和PHP组成的最强技术栈(apache mysql php)
- Linux下重启Apache简易指令.(linux重启apache命令)
- Apache与MySQL联动改变Web服务(apache跟mysql)
- Apache与MySQL的完美融合开启精彩程序之旅(apache加mysql)
- 使用apache模块rewrite_module(转)
- windows2003下apache配置虚拟主机和绑定域名服务
- APACHE多站点配置方法
- apache支持php5的配置方法
- apache使用日志分割模块rotatelogs分割日志详解
- Windows下使用apache模块实现合并多个js、css提高网页加载速度
- Linux+php+apache+oracle环境搭建之CentOS下安装Apache
- Apache安装配置mod_pagespeed加速模块