記憶盒子

把記憶裝進(jìn)灰色的盒子,封裝起來(lái),那年那月,重新拾起。

首頁(yè)搜索目錄
search
當(dāng)前主題: 互聯(lián)網(wǎng)絡(luò)

apache屏蔽某UA: SetEnvIfNoCase User-Agent 的正確寫法

作者:Kaka    時(shí)間:2017-9-8 10:3:26    瀏覽:    評(píng)論:0

apache屏蔽某UA,是通過(guò)設(shè)置 SetEnvIfNoCase User-Agent 來(lái)實(shí)現(xiàn),不過(guò)我發(fā)現(xiàn)網(wǎng)上很多文章的寫法是不正確的,我親測(cè)后,把正確的寫法記下來(lái),同時(shí)也把錯(cuò)誤的寫法記下來(lái),以被日后參考。

舉例說(shuō)明,假如apache要屏蔽的UA包含字符串“Googlebot”,那么 SetEnvIfNoCase User-Agent 的設(shè)置該如何寫呢?

正確寫法是:

SetEnvIfNoCase User-Agent ^.*Googlebot.* bad_bot

Order allow,deny
Allow from all

Deny from env=bad_bot

錯(cuò)誤寫法:

SetEnvIfNoCase User-Agent "^.*Googlebot.*" bad_bot

...

代碼分析:

符號(hào)“^”表示字符串開始位置,“.*”表示任意字符。

錯(cuò)誤的寫法是多了雙引號(hào)“"”,SetEnvIfNoCase User-Agent 后面的字符串是不需要用雙引號(hào)引住的,否則是設(shè)置錯(cuò)誤,不能按預(yù)期屏蔽某個(gè)UA。

但如果字符串不需要用到正則時(shí),可以用雙引號(hào)。例如下面的例子寫法:

SetEnvIfNoCase User-Agent "Baiduspider" bad_bot

Order Allow,Deny
Allow from All

Deny from env=bad_bot

SetEnvIfNoCase User-Agent "Baiduspider" 是指這個(gè)UA的字符串中包含 Baiduspider 這幾個(gè)字符。本例 Baiduspider 要不要雙引號(hào)都可以,因?yàn)闆](méi)有用到正則

知識(shí)擴(kuò)展:一個(gè)很有用的apache指令SetEnvIfNoCase

說(shuō)明:根據(jù)請(qǐng)求的屬性設(shè)置環(huán)境變量,而不考慮情況。

語(yǔ)法:SetEnvIfNoCase 屬性 正則 [!]環(huán)境變量[=值] [[!]環(huán)境變量[=值]] ...

上下文:服務(wù)器配置, 虛擬主機(jī), 目錄, .htaccess

覆蓋項(xiàng):FileInfo

狀態(tài):Base

模塊:mod_setenvif

兼容性:Apache 1.3 and above

SetEnvIfNoCase 與 SetEnvIf 指令語(yǔ)義相同,不同之處在于正則表達(dá)式匹配是不區(qū)分大小寫的方式進(jìn)行。例如:

SetEnvIfNoCase Host Apache\.Org site=apache

如果 HTTP 請(qǐng)求頭“Host:”包含 Apache.Org, apache.org,或其他任何組合,就把環(huán)境變量 site 的值設(shè)為“apache”。

SetEnvIfNoCase 當(dāng)滿足某個(gè)條件時(shí),為變量賦值,一般結(jié)合其他指令使用。

如:

1、

SetEnvIf Request_URI "/logo(.)+" local_ref=0
Allow from env=local_ref

當(dāng)local_ref有值時(shí),可以訪問(wèn)。

2、

SetEnvIfNoCase Request_URI .js$ useless-file
CustomLog logs/hebgc.com/access.log combined env=!useless-file

當(dāng)滿足條件時(shí)才記錄日志。

x

標(biāo)簽: apache  

※ 網(wǎng)站速度慢?試試網(wǎng)站自動(dòng)優(yōu)化工具 ※

上一篇: 百度SEO:文章標(biāo)題多少個(gè)字為好
下一篇: JS獲得客戶端IP的方法【來(lái)自sohu的API接口】

發(fā)表評(píng)論:

◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法、交流您的觀點(diǎn)。

訂閱博客                   QQ交流群(312716741)

  • 通過(guò)Google訂閱本站 通過(guò)鮮果訂閱本站 通過(guò)抓蝦訂閱本站
  • 通過(guò)QQ郵箱訂閱本站 通過(guò)Yahoo訂閱本站 通過(guò)有道訂閱本站

Search

最新評(píng)論及回復(fù)

最近留言

網(wǎng)站分類

Powered By Z-Blog 1.8 Walle Build 91204 Designed by Han'space

Copyright @2009-2025 All Rights Reserved. 粵ICP備14028160號(hào)-1

Powered By Z-Blog 1.8 Walle Build 91204
Copyright @2009-2025 All Rights Reserved.