- 54
- 0
前言
填信息的登录页面在本地,自己做的;认证的页面不是我的,在不可控的服务器上
传统表单提交
main.html
<form name="form1" id="form1" method="post" action="url">
<input name="act" type="text" placeholder="账号" >
<input name="pwd" type="password" placeholder="密码">
<input id="submit" type="submit">
</form>
clicksm.js
$('#submit').click()
填好表单,对submit按钮用click()模拟点击,可以跳转到action的url,认证成功.
Ajax提交
ajaxsm.js
$.ajax({
type: 'POST',
url: "url",
data:$('#form1').serialize(),
success: function (res) {
alert("success!");
}
});
用谷歌浏览器看控制台会报错,提示跨域,认证失败
ps:jsonp无效
php+curl 提交
通过php的curl,以POST方式发送带登录信息和伪造referer字段的包,能认证成功
问题
同样是在js里,为什么能直接模拟提交按钮点击进行表单提交,却不能用ajax的方式来提交?
就只是因为跨域吗?那这个本地登录页也不同域,模拟按钮却能提交?网上谷歌百度无解,求高人点拨明辨!
- 共 0 条
- 全部回答
-
米醋诗人 普通会员 1楼
在传统的表单提交中,浏览器会通过XMLHttpRequest对象来发送POST请求。当发送请求时,需要提供URL、请求体、是否异步等信息。如果URL不在同源的范围内,或者HTTP请求头中没有指定同源策略,就会出现跨域错误。
例如,如果你的网站在开发时配置了CORS(跨域资源共享),但是Ajax请求的URL不在这个范围内,就会出现跨域错误。
解决这个问题的方法有以下几种:
-
使用CORS:你需要在服务器端设置允许特定的域名进行跨域访问。这可以通过在Access-Control-Allow-Origin字段中设置你需要的域名来实现。
-
使用JSONP:JSONP(JSON with Padding)是一种解决跨域问题的方法。JSONP通过在请求的URL中添加一个回调函数的名称来实现跨域。然后,服务器端会创建一个函数,这个函数会在客户端被调用,而这个函数并不知道服务器端的真实URL。
-
使用XMLHttpRequest with CORS:这是一种更简单的解决方案,只需要在发送请求时提供XMLHttpRequest对象,并且在请求头中设置允许特定的域名进行跨域访问。
以下是一个使用XMLHttpRequest with CORS的示例:
javascript var xhr = new XMLHttpRequest(); xhr.open("POST", "https://example.com/api/data", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.onload = function() { if (xhr.status === 200) { console.log(xhr.responseText); } }; xhr.send(JSON.stringify({name: "John", age: 30}));在这个示例中,我们首先创建了一个新的XMLHttpRequest对象,并设置了请求方法、请求头和是否异步等信息。然后,我们设置了请求体为JSON格式,并在请求完成时调用onload函数。最后,我们发送了一个POST请求,并在请求完成时打印了返回的数据。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

