论坛: 网站建设 标题: 这是由于操作系统的不同还是服务器的不同? 复制本贴地址    
作者: yaochi [yaochi]    论坛用户   登录
无聊的我今天想做个登陆20CN论坛的表单,其实超级简单,只要找对FORM中的
地址就可以了,于是查看20CN登陆那个页面的源代码,表单中地址为
action="/cgi-bin/club/scripts/login.pl"
由于登陆页面的URL为 http://www.20cn.org/club/login.htm我就以为提交地址是 [http://www.20cn.org/club/cgi-bin/club/scripts/login.pl"
但做好后找不到该页,后来我想20CN服务器是用UNIX系统的,好像老大写过UNIX系统不管有几个分区,底部只有N(几个我忘了)目录,文件夹名中好像就有个cgi-bin,虽然还是不清楚什么原因,但是改成http://www.20cn.org/cgi-bin/club/scripts/login.pl 就对了。我不明白的就是老大的表单中又没打..,怎么会到上一级目录下去的???是由于采用的是UNIX系统么?还是因为服务器?请大家解释一下。另外,以下是无大用的代码:请大家看看写错了什么没
代码:

<form name="form" method="post" action="http://www.20cn.org/cgi-bin/club/scripts/login.pl">
<div align="center"> 
<p align="left"> 
<input name="username" type="text" value="ID" size="10">
<br>
<input name="password" type="password"  value="ps" size="10">
<br>
<input type="submit" name="submit" value="进入">
</p>
</div>
</form>




[此贴被 yaochi(yaochi) 在 02月11日16时46分 编辑过]

地主 发表时间: 2003-02-11 16:45:46

回复: aoming [aoming]   版主   登录
/cgi-bin/club/scripts/login.pl表示的是服务器根目录
如果是你说的那样那是这样表示:
./cgi-bin/club/scripts/login.pl
表示相对于当前目录
../../表示上2级

使用CGI程序处理用户提交的数据,打开某文件时,需要注意的内容中就有这样的一点:过滤掉./这些“非法字符”

if(($filename=~/[^a-zA-Z_\.])||($filename=~/^\./))
{#kao~~!!}


[此贴被 咖啡╃泡面(aoming) 在 02月11日22时39分 编辑过]

B1层 发表时间: 2003-02-11 22:50:39

回复: NetDemon [netdemon]   ADMIN   登录
这和web服务的配置有关和操作系统无关

如果我设置 DocumentRoot 为 d:/home/html 的话,那么www.20cn.org/club/访问的是d:/home/html/club/这个真实文件夹里面的内容
我加上一句 ScriptAlias /cgi-bin/ "c:/nihao/haha/" 那么 www.20cn.org/cgi-bin/ 访问的就是c:/nihao/haha/这个真实文件夹里面的内容,同理www.20cn.org/cgi-bin/club/ 访问的是c:/nihao/haha/club/这个真实文件夹里面的内容

至于action="/cgi-bin/club/scripts/login.pl ,那是因为只要在www.20cn.org这台主机上,不管文件的url是什么,"/cgi-bin/"总是会访问到c:/nihao/haha/这里去的,所以可以省略



B2层 发表时间: 02/11 18:35

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号