我正在尝试使用XMLHTTP登录网站。我只是好奇,因为我觉得我可能偶然发现了一个网站已采取措施防止自动登录,但我不确定......
网站是:https://www.nordnet.se/mux/login/startSE.html?cmpi=start-loggain
查看字段:Användarnamn(“用户名”)和Lösenord(“密码”)
检查代码时我们得到以下内容
用户名
<input type="text" class="form-control lowercase" placeholder="Användarnamn" id="input1" name="05b815966281833f744f3aafe2d8d907" autocomplete="off">
输入密码
<input id="pContent" type="password" class="form-control" placeholder="Lösenord" autocomplete="off">
<input id="pContHidden" name="8ed7fbd0d02d475becd85807358088e3" type="hidden" autocomplete="off">
现在每次刷新网站时“name”变量都会被更改,这实际上是一种阻止人们运行xmlhttprequest.send“username = ****&amp; password = ******”的措施?
是否可以使用占位符属性登录?因为他们在刷新期间不会改变。
另外,为什么我有一行wotj输入id =“pContent”和一个输入id =“pContHidden”作为密码?
答案 0 :(得分:2)
无法使用占位符属性,但id属性可以方便用于创建登录请求正文。
POST请求的内容类似于referer=&encryption=1&fake_password=&d1e3dc2fca672beb62f6290dae2fb11a=userID&39826874bfc57986d2ffc6b34ac2dd63=WUKqcVnoshIzOqAh8FvdV4NhDTMvCQ9EGqwnphGH29SOSN7jj6D39pYbTCMBdMmSGqQ6BPSQIremW%2FTIwrXfRw%3D%3D
此处密码被加密到名为39826874bfc57986d2ffc6b34ac2dd63
的“pContHidden”元素中。 “pContent”元素不用于传递任何值。
可以使用浏览器加料栏中的javascript:alert(document.getElementById("input1").name);
和javascript:alert(document.getElementById("pContHidden").name);
并按Enter键找到元素的名称。因此,这可以直接从作为htmlfile对象加载的XMLHttp响应主体派生。
您仍然需要了解用于创建提交的密码哈希的加密。
如果您使用internetExplorer对象导航到登录页面,然后以编程方式填写基于ID的字段,然后模拟logga In按钮上的单击,那将会更容易。