Apache 模块 mod rewrite RewriteCond 通过检查HTTP REFERER避免

Apache 模块 mod rewrite RewriteCond 通过检查HTTP REFERER避免Apache模块modrewriteRewriteCond通过检查HTTPREFERER避免

大家好,又见面了,我是你们的朋友全栈君。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

   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://www.newsight.net/images/logo.gif  [R,L]

类似的,检查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用于简单的重定向           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146130.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • JAVA CAS实现原理与使用

    JAVA CAS实现原理与使用在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile…

  • readprocessmemory函数分析_max函数用法

    readprocessmemory函数分析_max函数用法函数功能描述:该函数用来读取指定进程的空间的数据,此空间必须是可以访问的,否则读取操作会失败!函数原型BOOLReadProcessMemory(  HANDLEhProcess,  //目标进程句柄  LPCVOIDlpBaseAddress,                    //读取数据的起始地址  LPVOIDlpBuffer,  //存放数据的缓存区地址 

  • Win10 桌面美化

    Win10 桌面美化Win10桌面美化最近发现了几款Win10界面美化的软件,看了看别人家的Win10操作界面,瞬间觉得自己的low了,关键是赏心悦目啊!废话不多说,先看看我原来桌面和美化后的桌面对比图原始桌面美化桌面1.安装RocketDockRocketDock可以提供类似macos的操作系统图标特效,打开安装包进行安装,完毕后启动得到效果如下:可以发现切换效果与mac类似,他默认的主题是C…

  • SQL Server 下载安装教程

    SQL Server 下载安装教程SQLServer2017下载安装教程第一步:打开浏览器,在浏览的搜索框中我们输入“SQLServer”。如图,会匹配出中文两条微软官方下载页面(一个页面内容是英文、一个页面内容是中文)。这里我们以中文的为例。第二步:点击进入下载页面后,可以看到如图所示页面,我们不要着急点击下载,因为这些SQLServer只能试用180天(大家从介绍中可以看到)。第三步:我们将网页下滑,可以看到…

  • acwing-143. 最大异或对(Trie+异或)「建议收藏」

    acwing-143. 最大异或对(Trie+异或)「建议收藏」在给定的 N 个整数 A1,A2……AN 中选出两个进行 xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数 N。第二行输入 N 个整数 A1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤105,0≤Ai<231输入样例:31 2 3输出样例:3#include<bits/stdc++.h>using namespace std;const int N = 31e5 + 10;int trie[N][2],ctx,cnt[N];

  • 基于STM32F4单片机对步进电机的控制(有代码)「建议收藏」

    基于STM32F4单片机对步进电机的控制(有代码)「建议收藏」步进电机是将电脉冲控制信号转变为角位移或线位移的一种常用的数字控制执行元件,又称为脉冲电机。在驱动电源的作用下,步进电机受到脉冲的控制,其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比。步进电机每接收一个电脉冲,转子就转过一个相应的角度(步距角)。改变通电顺序可改变步进电动机的旋转方向;改变通电频率可改变步进电动机的转速。因此,通过控制输入电脉冲的数目、频率及电动机绕组的通电顺序就可以…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号