【问题标题】:html form with post method indirectly points to authentication code带有post方法的html表单间接指向验证码
【发布时间】:2012-11-08 14:06:57
【问题描述】:

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

去除 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 的相应代码 sn-p 如下所示:

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/ 源代码几乎找不到。话虽如此,任何人都可以解释发生了什么,和/或如何为身份验证协议检索丢失的代码。

【问题讨论】:

    标签: javascript html forms post submit


    【解决方案1】:

    表单中的操作属性设置为错误的路径。 我有点说它会登录/index.php(当然如果你使用php)

    【讨论】:

    • sn-p 代码是从功能齐全的页面复制而来的,似乎没有指向任何东西。虽然,一旦登录,用户将被带到 www.somewebpage.com/account/ 而不是 www.somewebpage.com/login 或类似...
    • 我现在检查了 Semsem 的预测是否正确。所述页面不存在,并导致“404”。其他类似的地址组合也会导致“404”。
    【解决方案2】:

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

    【讨论】:

    • 只是测试会发生什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多