Mat*_*ram 3 .net c# ssl iframe
我试图将我们页面的登录部分包装在一个用SSL创建的iframe中,并在我们公司网站的几个页面上显示(有点像登录小部件).
但是,我一直在页面上出现错误,呈现iframe,表明:
拒绝在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'
我要在其上显示的登录窗口小部件和网页是在同一个域下托管的,这是一个问题吗?
我四处搜索,似乎没有什么能够避免这个问题.有没有人有这个问题的解决方案?
<iframe sandbox="allow-same-origin allow-forms allow-scripts" src="https://<sitename>/loginiframewidget.aspx"></iframe>
Run Code Online (Sandbox Code Playgroud)
目前这些是我在web.config中的内容
<httpProtocol>
<customHeaders>
<add name="access-control-allow-headers" value="content-type" />
<!--<add name="Access-Control-Allow-Origin" value="*" />-->
<add name="Content-Security-Policy" value="frame-ancestors 'self' mysite.com.au"/>
<add name="X-Frame-Options" value="ALLOWALL"/>
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
页面上Chrome Dev Tools中显示的标题是:

无论如何,此实现存在安全问题.
首先,您无法确定未加密页面的内容在传输时是否未被更改,并且已将iframe的src指向其他位置.
第二个是,即使用户使用SSL登录,他们在cookie中的会话ID也会以明文形式发送,并且很容易被欺骗.
您会考虑在SSL中运行整个站点吗?这些天服务器比你想象的更好地处理这个问题,你不再需要iframe了.
| 归档时间: |
|
| 查看次数: |
1340 次 |
| 最近记录: |