gpt4 book ai didi

javascript - 无法通过ajax登录到https服务器

转载 作者:行者123 更新时间:2023-11-30 13:25:49 25 4
gpt4 key购买 nike

我目前正在使用 jquery 开发用户脚本,它在 http 网页上调用 https 请求以登录论坛。但是现在我遇到了一个cookie问题:无法通过ajax请求设置cookie。

下面两张图展示了传统登录和ajax登录的区别:

传统的:

  1. 发布用户名和密码并获取 set-cookie
  2. 向服务器发送 cookie 以访问某些网页 traditional login

Ajax 一:

  1. 使用$.post()发布用户名和密码,并获取set-cookie
  2. 不向服务器发送 cookie

ajax login

在这里我发布了我的 greasemonkey 用户脚本:

// ==UserScript==
// @name test
// @namespace test
// @description test
// @include http://solidot.org/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js
// ==/UserScript==
//after events dealing and blahblahblah
$.post('https://bbs6.sjtu.edu.cn/bbslogin',{id:'some',pw:'password'});
$.post('https://bbs6.sjtu.edu.cn/bbssnd',{board:'SJTUNews',title:'some',text:'article'});

有人可以帮帮我吗?

最佳答案

因为您的登录是在 http: 上,而您要发布到的网站是在 https: 上,所以您要处理浏览器和 jquery 中内置的跨站点脚本限制。在同一台服务器上使用 jquery 到 Web 服务时,我遇到了类似的问题,但端口不同(您也尝试这样做)。

一些选项:- 通过普通表单按钮发布- 将 jquery 移动到 https 域(在登录之前需要 https 访问;这提供了安全的密码传输,但您必须阻止对内容的访问与 https 访问分开)- 使用一些服务器端脚本来弥合差距。我找到了 http://benalman.com/projects/php-simple-proxy/非常有用。

要诊断问题(检查我的假设是否正确),您可以使用 Firefox 内置的网络控制台(我更喜欢 FireBug),或 Chrome 的可选开发包。

查看控制台;检查发布命令。请注意您的帖子要发送到的域/端口。我希望域/端口信息从帖子中删除。

另一个选项:Cross domain with jQuery .但请注意:允许跨域时,请注意不要为任何其他域打开后门!

希望这对您有所帮助。

关于javascript - 无法通过ajax登录到https服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com