[英]Checking for a secure cookie and redirecting a non-HTTPS parent inside an HTTPS modal
我在混合网站的HTTP / HTTPS部分时遇到问题,这很难解释。 基本上,网站的结构如下:
我在网站上添加了“记住我”功能,在该网站中,会话密钥以安全 cookie的形式发送给用户。 这对网站的授权区域( HTTPS )很有用-我可以为用户删除PHP会话,并且当我再次访问这些授权页面时,它将由安全会话密钥cookie重新创建。
我在网站页面上有一个未加密发送的登录按钮。 该登录按钮启动一个模式窗口,该模式窗口的内容通过HTTPS传输。 安全会话密钥cookie是通过安全连接在此模式窗口的请求中发送的。 如果检测到此会话密钥cookie,则需要关闭模式窗口并将父页面重定向到站点的授权部分。
// this script running on https://somewhere.com/account/ in an iframe
// whose parent is http://somewhere.com/ (non-HTTPS)
<?php if ( $already_authorized ): ?>
<script type="text/javascript">
$(document).ready(function redirectParent() {
parent.jQuery.fancybox.close();
parent.window.location.href = 'https://somewhere.com/account/';
});
</script>
<?php endif ?>
不过,我遇到了跨域脚本防护方面的问题,因为从https://somewhere.com/account/
加载的模式窗口正在尝试在其父窗口http://somewhere.com
上执行JS函数。 。
所以,我的困境简而言之:
如果我的问题足够有意义,我想知道:有什么办法可以解决这个令人沮丧的问题? 还是我最终要通过HTTPS加载整个网站(公共部分和私有部分)?
我找到了解决方案! 它可能不是最优雅的,但据我所知,它的工作原理和安全级别保持不变。
true
或false
true
,则假定用户已获得授权,并显示指向安全的“我的帐户”页面( 非模式 )的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.