如题,在form表单中的action属性的值可以写成目标相对路径或URL绝对路径。在W3School中是这样描述的:
Where to send the form-data when the form is submitted.
Possible values:
•An absolute URL - points to another web site (like action="http://www.example.com/example.htm")
•A relative URL - points to a file within a web site (like action="example.htm")
现在我有下面的代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
</head>
<body>
<form method="post" id="aspnetForm" name="loginform" action="https://securecn.englishtown.com/login/handler.ashx">
<input name="username" type="hidden" value="xxxxxxxx"/>
<input name="password" type="hidden" id="et-password" value="123456">
<input name="p" type="hidden" id="txtPartner" value="Elef">
</form>
<script language="javascript">
document.loginform.submit();
</script>
</body>
</html>
为了保密我把username给替换了。
把这些保存成html文件,在本地直接双击打开,是可以跳转到https://securecn.englishtown.com/login/handler.ashx并登陆成功的。
但,我把这个文件部署在服务器上,服务器会自动在文件所在的目录寻找login/handler.ashx,显然我服务器上没有这个东西,于是报出404。
为什么部署在服务器上就不能跳转了呢?
这么简单的问题自己http抓一下包不就知道了
https://securecn.englishtown.com/login/handler.ashx 对网站来源进行了检测,你form跳转过去,对端网站拒绝访问又给你跳转回来了。
解决方案:通过ajax提交 这样他们就检测不到来源了~~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。