Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AJAX访问不受信任的HTTPS失败,没有';是否要继续';促使_Jquery_Ajax_Security_Ssl_Https - Fatal编程技术网

Jquery AJAX访问不受信任的HTTPS失败,没有';是否要继续';促使

Jquery AJAX访问不受信任的HTTPS失败,没有';是否要继续';促使,jquery,ajax,security,ssl,https,Jquery,Ajax,Security,Ssl,Https,我一直在关注这个问题,直到我手动浏览到HTTPS服务器并看到提示 The site's security certificate is not trusted! Proceed anyway / Back to safety 显然,当AJAX试图访问这个页面时,它遇到了这个提示,它会自动决定拒绝连接。是否有方法将提示传播到客户端?或者让AJAX选择“无论如何继续”并忽略警告 另外,我也可以访问.crt,但我尝试将它们导入到chrome的证书存储中,尽管说“导入成功”,但它们从未出现在存储中…首

我一直在关注这个问题,直到我手动浏览到HTTPS服务器并看到提示

The site's security certificate is not trusted!
Proceed anyway / Back to safety
显然,当AJAX试图访问这个页面时,它遇到了这个提示,它会自动决定拒绝连接。是否有方法将提示传播到客户端?或者让AJAX选择“无论如何继续”并忽略警告


另外,我也可以访问.crt,但我尝试将它们导入到chrome的证书存储中,尽管说“导入成功”,但它们从未出现在存储中…

首先,使用坏证书访问https站点是个坏主意,这会导致警告,并期望用户只接受坏证书。但是,如果这只是为了测试,您需要首先指示用户直接在https服务器上翻页(没有Ajax、iframe等),并且一旦用户接受证书,您就可以继续向同一主机发送Ajax请求。

考虑到Ajax是后台http请求(例如“headless”),该弹出窗口究竟应该如何/在何处出现?这会让用户感到困惑,因为它来自一个他们没有直接调用自己的操作,而在jsonp请求或类似的情况下,会更加困惑,因为他们在站点XYZ上,并获得站点的ssl错误弹出窗口PQR@Marc-你让我笑了。你一定会喜欢浏览器安全模式和破坏同源性。存在的一点安全性被分解到无法显示清晰的错误消息的程度。唉……我似乎不知道如何将密钥提供给客户端,使其成为“良好”证书。@user997739:您必须从浏览器信任的CA获得证书。有很多关于如何做的资源。如果CA不受信任或与主机名不匹配,您当然会收到显示此问题的警告。“这是一个坏主意……它会导致警告,并期望用户只接受坏证书”-自签名证书会引发相同的警告,它们没有错。(和其他人)对此有规定,但这意味着必须打破CA/浏览器卡特尔。@user997739-上次我检查时,你不能这样做。这些细节是故意对你隐瞒的。这就是浏览器被降级为低值数据的原因。他们的安全模型和某些组件设计无法处理高价值数据。@jww:SSL需要对等方的标识,否则中间人攻击是可能的。只有当每个客户端通过独立的通信通道验证证书的指纹,并不时重复此验证以确保证书未被泄露时,自签名证书才允许进行此类标识(自签名证书不能以通常的方式撤销)。当然,这不会扩展,因此自签名证书只能在小型受控环境(如访问家庭路由器)中使用,而不能在宽带互联网中使用。