.httacces文件的密碼保護和防止盜鏈的實現(xiàn)方法
更新時間:2008年06月18日 19:19:53 作者:
盡管有各種各樣的.htaccess用法,但至今最流行的也可能是最有用的做法是將其用于網(wǎng)站目錄可靠的密碼保護。
1.密碼保護的.htaccess文件
盡管有各種各樣的.htaccess用法,但至今最流行的也可能是最有用的做法是將其用于網(wǎng)站目錄可靠的密碼保護。盡管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即訪問者必須知曉密碼才可以訪問目錄,并且絕無“后門”可走)。
利用.htaccess將一個目錄加上密碼保護分兩個步驟。第一步是在你的.htaccess文檔里加上適當?shù)膸仔写a,再將.htaccess文檔放進你要保護的目錄下:
AuthName “Section Name”
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user
你可能需要根據(jù)你的網(wǎng)站情況修改一下上述內(nèi)容中的一些部分,如用被保護部分的名字”Members Area”,替換掉“Section Name”。
/full/parth/to/.htpasswd則應該替換為指向.htpasswd文件(后面詳述該文檔)的完整服務器路徑。如果你不知道你網(wǎng)站空間的完整路徑,請詢問一下你的系統(tǒng)管理員。
2.密碼保護的.htpasswd文件
目錄的密碼保護比.htaccess的其他功能要麻煩些,因為你必須同時創(chuàng)建一個包含用戶名和密碼的文檔,用于訪問你的網(wǎng)站,相關信息(默認)位于一個名為.htpasswd的文檔里。像.htaccess一樣,.htpasswd也是一個沒有文件名且具有8位擴展名的文檔,可以放置在你網(wǎng)站里的任何地方(此時密碼應加密),但建議你將其保存在網(wǎng)站W(wǎng)eb根目錄外,這樣通過網(wǎng)絡就無法訪問到它了。1516501417
在使用.htaccess來設置目錄的密碼保護時,它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護起來,不讓別人看到其中的內(nèi)容。雖然可以用其他方式做到這點,比如文檔的權限。不過,.htaccess本身也能做到,只需加入如下的指令:1516501417
order allow,deny
deny from all
3.配置 .htaccess 輸入用戶名和密碼
要利用.htaccess對某個目錄下的文檔設定訪問用戶和對應的密碼,首先要做的是生成一個.htpasswd的文本文檔,例如:
forge:y4E7Ec8e7EwV
這里密碼經(jīng)過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。
有了授權用戶文檔,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服務器目錄
AuthGroupFile /dev/null (需要授權訪問的目錄)
AuthName EnterPassword
AuthType Basic (授權類型)
require user wsabstract (允許訪問的用戶,如果希望表中所有用戶都允許,可以使用 require valid-user)
注,括號部分為學習時候自己添加的注釋
拒絕來自某個IP的訪問
如果我不想某個政府部門訪問到我的站點的內(nèi)容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。
例如:
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
第二行拒絕某個IP,第三行拒絕某個IP段,也就是219.5.45.0~219.2.45.255
想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來設定。
創(chuàng)建好.htpasswd文檔后(可以通過文字編輯器創(chuàng)建),下一步是輸入用于訪問網(wǎng)站的用戶名和密碼,應為:
username:password
“password”的位置應該是加密過的密碼。你可以通過幾種方法來得到加密過的密碼:一是使用一個網(wǎng)上提供的permade腳本或自己寫一個;另一個很不錯的username/password加密服務是通過KxS網(wǎng)站,這里允許你輸入用戶名及密碼,然后生成正確格式的密碼。
對于多用戶,你只需要在.htpasswd文檔中新增同樣格式的一行即可。另外還有一些免費的腳本程序可以方便地管理.htpasswd文檔,可以自動新增/移除用戶等。
4.配置.htaccess 直接訪問加密網(wǎng)站
當你試圖訪問被.htaccess密碼保護的目錄時,你的瀏覽器會彈出標準的username/password對話窗口。如果你不喜歡這種方式,有些腳本程序可以允許你在頁面內(nèi)嵌入username/password輸入框來進行認證,你也可以在瀏覽器的URL框內(nèi)以以下方式輸入用戶名和密碼(未加密的):
http://username:password@www.w3sky.com/directory/
5.利用 .htaccess 防止盜鏈
如果不喜歡別人在他們的網(wǎng)頁上連接自己的圖片、文檔的話,也可以通過htaccess的指令來做到。
所需要的指令如下:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F]
如果覺得讓別人的頁面開個天窗不好看,那可以用一張圖片來代替:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/替代圖片文件名 [R,L]
盡管有各種各樣的.htaccess用法,但至今最流行的也可能是最有用的做法是將其用于網(wǎng)站目錄可靠的密碼保護。盡管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即訪問者必須知曉密碼才可以訪問目錄,并且絕無“后門”可走)。
利用.htaccess將一個目錄加上密碼保護分兩個步驟。第一步是在你的.htaccess文檔里加上適當?shù)膸仔写a,再將.htaccess文檔放進你要保護的目錄下:
AuthName “Section Name”
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user
你可能需要根據(jù)你的網(wǎng)站情況修改一下上述內(nèi)容中的一些部分,如用被保護部分的名字”Members Area”,替換掉“Section Name”。
/full/parth/to/.htpasswd則應該替換為指向.htpasswd文件(后面詳述該文檔)的完整服務器路徑。如果你不知道你網(wǎng)站空間的完整路徑,請詢問一下你的系統(tǒng)管理員。
2.密碼保護的.htpasswd文件
目錄的密碼保護比.htaccess的其他功能要麻煩些,因為你必須同時創(chuàng)建一個包含用戶名和密碼的文檔,用于訪問你的網(wǎng)站,相關信息(默認)位于一個名為.htpasswd的文檔里。像.htaccess一樣,.htpasswd也是一個沒有文件名且具有8位擴展名的文檔,可以放置在你網(wǎng)站里的任何地方(此時密碼應加密),但建議你將其保存在網(wǎng)站W(wǎng)eb根目錄外,這樣通過網(wǎng)絡就無法訪問到它了。1516501417
在使用.htaccess來設置目錄的密碼保護時,它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護起來,不讓別人看到其中的內(nèi)容。雖然可以用其他方式做到這點,比如文檔的權限。不過,.htaccess本身也能做到,只需加入如下的指令:1516501417
order allow,deny
deny from all
3.配置 .htaccess 輸入用戶名和密碼
要利用.htaccess對某個目錄下的文檔設定訪問用戶和對應的密碼,首先要做的是生成一個.htpasswd的文本文檔,例如:
forge:y4E7Ec8e7EwV
這里密碼經(jīng)過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。
有了授權用戶文檔,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服務器目錄
AuthGroupFile /dev/null (需要授權訪問的目錄)
AuthName EnterPassword
AuthType Basic (授權類型)
require user wsabstract (允許訪問的用戶,如果希望表中所有用戶都允許,可以使用 require valid-user)
注,括號部分為學習時候自己添加的注釋
拒絕來自某個IP的訪問
如果我不想某個政府部門訪問到我的站點的內(nèi)容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。
例如:
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
第二行拒絕某個IP,第三行拒絕某個IP段,也就是219.5.45.0~219.2.45.255
想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來設定。
創(chuàng)建好.htpasswd文檔后(可以通過文字編輯器創(chuàng)建),下一步是輸入用于訪問網(wǎng)站的用戶名和密碼,應為:
username:password
“password”的位置應該是加密過的密碼。你可以通過幾種方法來得到加密過的密碼:一是使用一個網(wǎng)上提供的permade腳本或自己寫一個;另一個很不錯的username/password加密服務是通過KxS網(wǎng)站,這里允許你輸入用戶名及密碼,然后生成正確格式的密碼。
對于多用戶,你只需要在.htpasswd文檔中新增同樣格式的一行即可。另外還有一些免費的腳本程序可以方便地管理.htpasswd文檔,可以自動新增/移除用戶等。
4.配置.htaccess 直接訪問加密網(wǎng)站
當你試圖訪問被.htaccess密碼保護的目錄時,你的瀏覽器會彈出標準的username/password對話窗口。如果你不喜歡這種方式,有些腳本程序可以允許你在頁面內(nèi)嵌入username/password輸入框來進行認證,你也可以在瀏覽器的URL框內(nèi)以以下方式輸入用戶名和密碼(未加密的):
http://username:password@www.w3sky.com/directory/
5.利用 .htaccess 防止盜鏈
如果不喜歡別人在他們的網(wǎng)頁上連接自己的圖片、文檔的話,也可以通過htaccess的指令來做到。
所需要的指令如下:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F]
如果覺得讓別人的頁面開個天窗不好看,那可以用一張圖片來代替:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/替代圖片文件名 [R,L]
相關文章
centos7系統(tǒng)下搭建docker本地鏡像倉庫的方法
本篇文章主要介紹了CentOS 7 : Docker私有倉庫搭建和使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02寶塔Linux面板之好用免費的中文Linux VPS主機控制面板適合快速建站
本篇文章主要介紹了寶塔Linux面板之好用免費的中文Linux VPS主機控制面板適合快速建站,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07詳解Linux 服務管理兩種方式service和systemctl
systemd是Linux系統(tǒng)最新的初始化系統(tǒng)(init),作用是提高系統(tǒng)的啟動速度,盡可能啟動較少的進程,盡可能更多進程并發(fā)啟動。這篇文章主要介紹了Linux 服務管理兩種方式service和systemctl,需要的朋友可以參考下2019-09-09詳解在Ubuntu上的Apache配置SSL(https證書)的正確姿勢
這篇文章主要介紹了詳解在Ubuntu上的Apache配置SSL(https證書)的正確姿勢,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12