我们有一个内部应用程序,需要全面的用户名/密码。
但是,如果登录失败次数过多,则会锁定该帐户的帐户。
我们无法更改锁定,因为这也会影响面向公众的网站。
我被要求提出一种基本方法,点击按钮并自动登录。
最初的研究让我看到了这个剧本...... (Credit)
<!doctype html>
<!-- saved from url=(0014)about:internet -->
<html>
<title>Auto Login</title>
</head>
<body>
<form id="loginForm" name="loginForm" method="post" action="http://mail.google.com">
<select name="uni_url" id="logServer" class="validate[required]">
<option class="" value="" fbUrl="" cookieName="" >
Test_en
</option>
</select>
<input id="loginName" name="name" type="text" value="Username" class="" />
<input id="loginPassword" name="password" type="password" value="ExamplePassword" class="" />
<input type="hidden" id="loginKid" name="kid" value=""/>
</form>
<script>document.loginForm.submit();</script>
</body></html>
...但我似乎无法让它为我工作。
所以,我找到了另一个选项,我可以使用提交按钮创建一个小的html文件(表单),这样做 - onload="form1.submit();"
,这基本上可以让我登录到这个网站,而无需键入任何登录信息。
不知道从哪里开始模仿这样的登录表单,需要一个好的方向来开始。
思考?
答案 0 :(得分:0)
我们假设您现有的登录表单如下所示:
<form action="/login.php" method="post" id="loginform">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
在您的“自动登录”(实际上是自动提交)页面上,您希望模仿与之前相同的结构,但是:
这可能会给我们这样的事情:
<form action="/login.php" method="post" id="loginform">
<input type="text" name="username" value="gvee" />
<input type="password" name="password" value="hunter2" />
</form>
<script type="text/javascript">document.forms[0].submit()</script>
javascript基本上会在页面上查找第一个表单(forms[0]
)并提交。
进一步检查后,您现有的登录表格有点像一个有趣的洋葱。它不是直接提交表单,而是调用一个名为doLogin()
的函数来设置某些隐藏的属性。
因此,我们应该模仿相同的行为(即调用doLogin()
而不是.submit()
),而不是提交表单。
这里的一个关键是你只想在声明它之后调用它。最简单的解决方案是将我们添加的脚本放在HTML的最底层。
<script type="text/javascript">doSubmit();</script>