1

我正计划创建一个新网页,并选择了一个感兴趣的页面作为模板。我已经下载了所有可能的页面源,以便在开始我自己的项目之前彻底分析页面的结构和功能。但是,经过几个小时的反复检查和重新检查,我真的无法弄清楚目标页面的登录功能:

去除 html 格式后,登录表单如下所示:

<form id=frmLogin method=post name=frmLogin action=/login/>
    <input id=strID tabIndex=1 type=text name=strID>
    <input id=strPW tabIndex=2 type=password name=strPW>
    <div class="cpBtn panel" onclick="return fnChkFrmLg();"><p>LOG IN</p></div>
</form>

如您所见,它包含一个非常直接的形式。输入用户名和密码后,点击“登录”按钮,一个简短的基于 JS 的函数“fnChkFrmLg();” 被触发。上述 JS 的相应代码片段如下所示:

function fnChkFrmLg() {
if (document.frmLogin.strID.value.length == 0 || document.frmLogin.strID.value == "Username") {
    alert ('Please enter a valid username.');
    frmLogin.strID.value = "";
    frmLogin.strID.focus();
    return false;
}
if (document.frmLogin.strPW.value.length == 0 || document.frmLogin.strPW.value == "Password") {
    alert ('Please enter a valid password.');
    frmLogin.strPW.value = "";
    frmLogin.strPW.focus();
    return false;
}
document.frmLogin.submit();
return true;

}

上述函数只检查用户是否确实输入了有效的用户名和密码,提交上述表单'frmLogin',并返回true。

网页正在使用的登录表单几乎是一种处理身份验证协议第一位的“按部就班”的方式。提交表单后,它会被定向到 /login/,其中应包含联系数据库所需的所有代码,检查提交的用户名和密码是否存在/正确,然后拒绝连接或加载帐户页面所有必要的数据。然而,令我难以置信的是 /login/ 源代码几乎找不到。话虽如此,任何人都可以解释发生了什么,和/或如何为身份验证协议检索丢失的代码位。

4

2 回答 2

0

表单中的 action 属性设置为错误的路径。我认为它会 login/index.php (当然如果你使用 php)

于 2012-11-08T14:15:17.120 回答
0

经过更深入的研究后,我发现上述网页正在通过 .htaccess 文件中的“重定向”命令使用目录重定向。因此,整个身份验证过程在内部处理,在用户的“眼睛”后面,并作为 /account/ 目录(用户的个人资料页面)返回。

于 2012-11-18T17:51:28.737 回答