我计划创建一个新的网页,并已选择一个感兴趣的页面作为模板。我已经下载了所有可能的页面源代码,以便在开始自己的项目之前彻底分析页面的结构和功能。然而,经过几个小时的反复检查,老实说,我无法弄清楚目标页面的登录功能:
去除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/源代码根本找不到。说到这里,有人能解释一下发生了什么吗,和/或如何检索身份验证协议缺少的代码。
发布于 2012-11-08 22:15:17
表单中的操作属性设置为错误的路径。我打赌它会登录/index.php(当然,如果你使用php)
发布于 2012-11-19 01:51:29
经过更深入的研究,我发现这个网页是通过.htaccess文件中的'redirect‘命令使用目录重定向的。因此,整个身份验证过程都是在用户的眼睛后面内部处理的,并作为/account/ directory返回(用户的个人资料页面)。
https://stackoverflow.com/questions/13290563
复制相似问题