我正计划创建一个新网页,并选择了一个感兴趣的页面作为模板。我已经下载了所有可能的页面源,以便在开始我自己的项目之前彻底分析页面的结构和功能。但是,经过几个小时的反复检查和重新检查,我真的无法弄清楚目标页面的登录功能:
去除 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/ 源代码几乎找不到。话虽如此,任何人都可以解释发生了什么,和/或如何为身份验证协议检索丢失的代码位。