黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

5個常用的htaccess技巧

系統(tǒng) 2650 0

本文將向大家介紹幾個在web應(yīng)用程序上比較實用的htaccess 技巧。

準(zhǔn)備工作

Htaccess 文件是Apache HTTP web服務(wù)器的純文本配置文件。無需訪問 httpd.conf 文件,用戶就可以設(shè)置目錄選項。因此,要求你的服務(wù)器使用Apache,并且主機也支持 htaccess 文件(大多數(shù)主機都支持)。

1. 防止盜鏈

盜鏈 也叫內(nèi)嵌鏈接,是指一個網(wǎng)站的鏈接直接導(dǎo)向另一個網(wǎng)站上的對象。這會給另一個網(wǎng)站造成帶寬和流量的損失。對于提供大量圖片的站點來說,這個問題就比較嚴(yán)重。 使用htaccess可以解決這個問題。

?

ShapelessMass.com
http://www.shapelessmass.com

There are ways to fix this growing problem using htaccess. First here is the image we are trying to protect.

?

    RewriteEngine on  
RewriteCond %{HTTP_REFERER} !^$  

#domains that can link to images  
#add as many as you want  
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?demo.collegeaintcheap.com [NC] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?noahhendrix.com [NC]  

#show no image when hotlinked  
RewriteRule \.(jpg|png|gif)$ - [NC,F,L]  
  
?

?

我們將按下面的步驟一步步操作

  1. 首先得打開Apache里的mod_rewrite,用于實現(xiàn)重新定向用戶的請求。
  2. 下一步,用RewriteCond設(shè)置條件。這需要運用到兩個參數(shù) TestString CondPattern 。TestString是用來驗證CondPattern的字符串(使用常規(guī)的表達(dá))。. ${HTTP_REFERER} 是Apache提供的域名請求變量。為了保護代理服務(wù)器用戶提交空白請求,這里允許用戶發(fā)送空白HTTP請求。
  3. 接著,用同樣的句法設(shè)置允許鏈接圖片的URL。命令最后的 [NC] 標(biāo)記,只是讓重寫引擎忽視它。你可以用相同的句法添加更多的域名。為了方便舉例,我添加了我的個人域名。
  4. 最后,最后一行是重寫規(guī)則,上面所有的條件都不滿足的情況下使用。也要用到兩個變量 Pattern Substitution ,pattern用的是常規(guī)的表達(dá)匹配,substitution 是替換任何匹配用的。此時,申請需以jpg、png、 gif結(jié)尾。找到申請后,用空白來替代。通過標(biāo)簽來進一步說明要干什么, NC 代表無符合的情況, F發(fā)送 403禁止錯誤頁面給用戶, L 告知重寫引擎停止重寫,因此其它規(guī)則都不再適用。

這種方法相當(dāng)簡單,我們的目的也就是告訴用戶我們不想他們盜用我們的圖片,那么干脆不發(fā)送403錯誤禁止頁面直接把盜鏈請求轉(zhuǎn)到一個圖片。把最后一行的代碼用下面的代碼替換就可以。

      #show an alternate image
RewriteRule \.(jpg|png|gif)$ http://demo.collegeaintcheap.com/envato/htaccess/hotlink/images/hotlink.jpeg [NC,R,L]
    
?

?

你可以把域名URL地址改為圖像路徑,不過需要以jpg、png、gif 結(jié)尾。要不然會重新運用規(guī)則給服務(wù)器造成死循環(huán)。我建議使用.jpeg來解決這個問題。這里 R 標(biāo)記取代 F 代表發(fā)送一個轉(zhuǎn)向。

?

2. 通過IP地址阻止用戶

如果網(wǎng)站上出現(xiàn)大量的垃圾郵件,就可以通過IP地址來阻止用戶。你可以在日志文件里找到他們的IP,只要把IP地址添加到htaccess文件就可以。

      Order Deny,Allow  
Deny from 24.121.202.23  
# Deny from 0.0.0.0  
    
?

?

在mod_access模塊里用Order指令可以拒絕或允許指定IP訪問。只要使用句法 Deny from IP ADDRESS 就可以禁止這些用戶訪問我們的目錄。

?

3.ErrorDocument

所有專業(yè)性的網(wǎng)站都會使用自定義的錯誤頁面。在Apache 里可以使用ErrorDocument指令來完成。自定義的錯誤頁面要比默認(rèn)的頁面好很多。

?

    ErrorDocument 404 http://demo.collegeaintcheap.com/envato/htaccess/errors/404.html  

 ErrorDocument 403 http://demo.collegeaintcheap.com/envato/htaccess/errors/403.html  

ErrorDocument 500 http://demo.collegeaintcheap.com/envato/htaccess/errors/500.html  
  
?

ErrorDocument有兩個參數(shù) error-code document 。 上面的代碼是最常見的HTTP錯誤提示代碼:404未找到、403 禁止、500 服務(wù)器出錯。你可以給你的錯誤文件提供完整的URL或相對路徑。你也可以轉(zhuǎn)向到一個PHP腳本上,用一個數(shù)據(jù)庫記錄錯誤或者發(fā)送郵件給你(雖然有點煩 人)。這是用來控制web應(yīng)用程序的一個非常好的方法。看看 Smashing Magazine的404 錯誤頁面展示 獲得一些啟發(fā)吧!

?

?

4.升級時轉(zhuǎn)向

如果你的網(wǎng)站正在升級,你需要轉(zhuǎn)向到另一個頁面通知用戶,以防止用戶看到損壞頁面或者加載過程出現(xiàn)的潛在安全漏洞問題。在頁面對所有用戶開放前,我們需要先允許指定IP訪問來測試。所有這些都可以在htaccess 文件上實現(xiàn)。

?

?

    RewriteEngine on  
RewriteCond %{REQUEST_URI} !/upgrade.html$  
RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30  
RewriteRule $ http://demo.collegeaintcheap.com/envato/htaccess/upgrade/upgrade.html [R=302,L]  
  
?

我們還是使用 mod_rewrite 不過是一種逆向思維。首先我們需要設(shè)定條件來排除升級的文檔,否則服務(wù)器陷入循環(huán)。接著,測試用的IP不執(zhí)行轉(zhuǎn)向。最后用重寫規(guī)則給用戶發(fā)回一個升級頁 面。標(biāo)簽還是跟之前的一樣,只不過定向到302狀態(tài),告訴瀏覽器該頁面暫時遷移了并做相應(yīng)的緩存。同樣地在Smashing Magazine,里也有很多的 網(wǎng)站維護頁面

?

5. 隱藏目錄列表

出于安全考慮,限制目錄列表的權(quán)限和Apache默認(rèn)行為是有必要的。這一點也可以在htaccess文件上實現(xiàn)。防止訪問者看到我們的目錄列表。

?

      Options -Indexes  
    
?

這樣,用戶如果發(fā)送無索引的目錄請求,就會顯示 403禁止錯誤頁面。

?

原文: 5 Fun and Practical Htaccess Solutions

5個常用的htaccess技巧


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論