Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Javascript 我可以使用https进行本地开发吗?_Javascript_Google Oauth_Same Origin Policy - Fatal编程技术网

Javascript 我可以使用https进行本地开发吗?

Javascript 我可以使用https进行本地开发吗?,javascript,google-oauth,same-origin-policy,Javascript,Google Oauth,Same Origin Policy,我正在尝试Google+web登录服务器端流程的一个细微变化,如上所述 谷歌的gapi代码给出了以下错误信息: 未捕获的安全性错误:阻止了原点为“”的帧访问原点为“”的帧。请求访问的帧具有“http”协议,被访问的帧具有“https”协议。协议必须匹配 我说我的本地开发系统不能设置为使用https协议对吗?这不仅与不同的协议有关(您站点上的HTTP与accounts.google.com上的https),还因为域不匹配(以及端口),这是由 此策略阻止www.evil.com在框架集中加载网站,如

我正在尝试Google+web登录服务器端流程的一个细微变化,如上所述

谷歌的gapi代码给出了以下错误信息:

未捕获的安全性错误:阻止了原点为“”的帧访问原点为“”的帧。请求访问的帧具有“http”协议,被访问的帧具有“https”协议。协议必须匹配


我说我的本地开发系统不能设置为使用https协议对吗?

这不仅与不同的协议有关(您站点上的HTTP与
accounts.google.com上的https),还因为域不匹配(以及端口),这是由

此策略阻止
www.evil.com
在框架集中加载网站,如
www.bank.com
(如果框架被禁用,则为弹出窗口),然后访问DOM。如果可以访问DOM,这将是一个巨大的安全风险,因为任何网站都可以在另一个网站上读取您的私人数据

可以通过实现策略并输出服务器端头来允许其他指定域读取内容,从而允许访问,但在您的情况下,这将站在Google一边。所以除非
https://accounts.google.com
执行策略时,您将无法对服务器端流进行客户端更改。另一个障碍是,即使实现了CORS,也不允许访问DOM。但是,您可以通过AJAX调用从另一个域、协议或端口检索内容。目标站点还必须输出
Access Control Allow Credentials:true
标头,以便将身份验证凭据(即本例中的cookie)与域读取的请求和响应一起发送

我可以使用https进行本地开发吗


要回答你原来的问题,答案是肯定的。在大多数情况下,这可以是一个自签名证书,并且不会影响浏览器中的此特定错误消息(因为您,因为浏览器用户选择接受并信任该证书)。

我这样说是错误的

我的本地开发系统无法设置为使用https协议


它可以!只需使用自我认证SSL。

错误表明您没有使用HTTPS。您的意思是不想为受信任的证书付费吗?您发现自签名证书有问题吗?我在apache中使用它,但必须生成自己的证书。但阅读错误后,我发现您根本没有使用https。如果要生成证书,请将apache配置为使用ssl,然后重试。这不应是所选答案。所选答案应转到@SilverlightFox。他们很好地解释了其工作原理背后的理论,并回答了这个问题(3天前)。