網站上的網頁, 一般說來都是開放給所有人來瀏覽, 但是有時候, 某些網頁希望只讓特定的人瀏覽, 此時可利用密碼確認與來源 IP 管制這兩種方式來過濾使用者. 要對瀏覽網頁的人作密碼確認與來源 IP 管制, 最簡單的就是透過 .htaccess 了

透過 .htaccess 替網頁作密碼保護 首先建立一個要用密碼來保護的目錄 (如 secure) 在這個目錄下建立一個 .htaccess 的檔案, 內容如下

AuthUserFile /user1/staff/tung/public_html/secure/.passwd
AuthGroupFile /dev/null
AuthName "access"
AuthType Basic

<Limit GET>
require valid-user
</Limit>

上面這個檔案會把整個 security 目錄 (含所有子目錄), 都用紅色部份所標明的 .passwd 保護起來, 任何想要瀏覽 security 目錄內網頁的人, 都必須輸入正確的使用者名稱與密碼才行

建立 .passwd 這個密碼檔

cd security htpasswd -c .passwd test

然後輸入一組密碼 上面這個命令會建立 .passwd 這個檔, 並放入使用者 test 與其密碼

如果你希望多放幾個使用者到密碼檔裡, 那麼繼續 htpasswd .passwd test2 並輸入 test2 的密碼

要注意只有在第一次時才要用 -c 這個參數, 它代表重新建立一個密碼檔, 如

果在密碼檔已存在的情形下使用 -c 這個參數, 密碼檔舊有記錄會被清除 .passwd 檔案是一個普通的文字檔,

你可以用一般的文書編輯器去處理它, 刪除不要的使用者名稱與密碼

最後將要被保護的網頁放到 .htaccess 所在的子目錄中

測試一下 (name=test, passwd=111 或 name=test2, passwd=222)

透過 .htaccess 替網頁作來源 IP 管制

比如說你希望只有來自 *.7x24design.com 或是 192.168.* 的使用者才能瀏覽你的網頁, 請在上述的 .htaccess 檔案中, 加入下列片段即可

<Limit GET>
order deny,allow
deny from all
allow from .ncku.edu.tw
allow from 140.116.
</Limit>

如果你要保護的是 CGI 程式所在的目錄, 除了要產生上述的 .htaccess 檔案外,

還要把 <Limit GET> 這行改成 <Limit GET POST PUT> 才行

有關 .htaccess 檔案之更詳細說明,

請參考 http://hoohoo.ncsa.uiuc.edu/docs/tutorials/user.html


    全站熱搜

    Frank 發表在 痞客邦 留言(0) 人氣()