技術員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

五個htaccess文件的常用技巧

來源:技術員聯(lián)盟┆發(fā)布時間:2018-12-05 12:00┆點擊:

  1. 防止盜鏈

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

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

  首先得打開Apache里的mod_rewrite,用于實現(xiàn)重新定向用戶的請求。

  下一步,用RewriteCond設置條件。這需要運用到兩個參數(shù)TestString 和CondPattern.TestString是用來驗證CondPattern的字符串(使用常規(guī)的表達)。.${HTTP_REFERER}是Apache提供的域名請求變量。為了保護代理服務器用戶提交空白請求,這里允許用戶發(fā)送空白HTTP請求。

  接著,用同樣的句法設置允許鏈接圖片的URL.命令最后的[NC]標記,只是讓重寫引擎忽視它。你可以用相同的句法添加更多的域名。為了方便舉例,我添加了我的個人域名。

  最后,最后一行是重寫規(guī)則,上面所有的條件都不滿足的情況下使用。也要用到兩個變量Pattern和Substitution,pattern用的是常規(guī)的表達匹配,substitution 是替換任何匹配用的。此時,申請需以jpg、png、 gif結尾。找到申請后,用空白來替代。通過標簽來進一步說明要干什么, NC代表無符合的情況,F(xiàn)發(fā)送403禁止錯誤頁面給用戶,L告知重寫引擎停止重寫,因此其它規(guī)則都不再適用。

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

  #show an alternate image

  RewriteRule .(jpg|png|gif)$ [NC,R,L]

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

  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指令來完成。自定義的錯誤頁面要比默認的頁面好很多。

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

  ErrorDocument 401 /error/401.html //401錯誤轉向到error/401.html 頁面

  ErrorDocument 403 /error/403.html

  ErrorDocument 404 /error/404.html

  ErrorDocument 500 /error/500.html

  4.升級時轉向

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

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

  5. 隱藏目錄列表

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

  Options -Indexes

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

  是任何版本的Apache Web服務器都是支持.htaccess的。籠統(tǒng)地說,.htaccess可以幫我們實現(xiàn)包括:文件夾密碼保護、用戶自動重定向、自定義錯誤頁面、改變你的文件擴展名、封禁特定IP地址的用戶、只允許特定IP地址的用戶、禁止目錄列表,以及使用其他文件作為index文件等一些功能。