一、建立.htaccess档案
首先login cyber.cs.ntou.edu.tw,在你要保护的目录下建立一个名为.htaccess 内容为
复制程式
# 随便取个名字吧,它会出?#123;在浏览器的蹦出视窗中。
AuthName 国立台湾海洋大学资讯系通讯录查询
# 编码方式,目前只支援Basic一种而已。
AuthType Basic
# 密码档的绝对路径,可用htpasswd指令建立
# (.htpasswd档可在ind.ntou.edu.tw上建好再传回cyber.cs.ntou.edu.tw)。
AuthUserFile /home/under/b86204/.htpasswd
#^^^^^
#自己的帐户名
# 若下面有指定 require group,则需要group档的绝对路径。
# AuthGroupFile /home/under/b86204/filename
<Limit GET POST>
require user franklin
require user beef
require user david
require user huangant
#^^^^^^^^^
#可?#91;看你的Project的username
#require group my-users group2 ...
</Limit>
AuthGroupFile 档案内容范例]franklin:Z4vr73LqdneRA
beef:RVN7zpfopMpiY
davidɈmUlggYxqB4KQ
huangant:DtAmaQ49hJuWk [/code]
^^^^^^^^^^^^^^^^^^^^
usernamegcrypt编码过的密码
当然最简单的方法,就是 telnet ind.ntou.edu.tw这台主机, 利用htpasswd程式建立.htpasswd,再传回cyber.cs.ntou.edu.tw。 方法如下所示] % telnet ind.ntou.edu.tw
(login的过?#123;略)
% htpasswd -c htpasswd.txt franklin
Adding password for franklin
New password:
Re-type new password:
% htpasswd htpasswd.txtbeef
Adding user beef
New password:
Re-type new password:
(其余的username 之密码建立,如同"htpasswd htpasswd.txt beef"一般,
以此类推。如果 htpasswd ?#123;式有任何疑问,不妨用"htpasswd -h"查查)
%ftp cyber.cs.ntou.edu.tw
(ftp过?#123;略)
ftp>mput htpasswd.txt
ftp>bye
%telnet cyber.cs.ntou.edu.tw
(login过?#123;略)
% mv htpasswd.txt .htpasswd[/code]
三、要如何在Homepage或CGI辨识那一个user在浏览此一加密的目录? 不外乎要使用环境变数,但是需要一些前置作业]% cp /usr/local/etc/httpd/cgi-bin/w3-msql ~/www/project
^^^^^^^^^^^^^
Project location
% mv ~/www/project/w3-msql ~/www/project/w3-msql.cgi[/code]
在你呼叫含有w3-msql语法的html档时,要用
复制程式
"http://cyber.cs.ntou.edu.tw/~b86204/project/w3-msql.cgi/~b86204/project/project.html"
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
your cgi your project file
如此一来,就可以在w3-msql中,用$REMOTE_USER得知目前的user是谁了。
四、如何限制某些 domain 的存取
复制程式
AuthName Example
AuthType Basic
AuthUserFile /home/under/b86204/.htpasswd
AuthGroupFile /home/under/b86204/filename
<Limit GET>
order deny, allow
deny from all
allow from .ntou.edu.tw
</Limit>