Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 Iframe–;让用户选择src-有任何安全问题吗?_Javascript_Html_Iframe_Security - Fatal编程技术网

Javascript Iframe–;让用户选择src-有任何安全问题吗?

Javascript Iframe–;让用户选择src-有任何安全问题吗?,javascript,html,iframe,security,Javascript,Html,Iframe,Security,我希望允许登录用户通过IFrame查看任何第三方内容 类似于允许Gmail用户在IFrame中查看他们想要的任何网络日历 允许用户设置IFrame Src Url是否存在安全问题 我将面临哪些安全问题 欢迎使用iFrame的任何其他需要了解的提示 谢谢 Rafael你害怕那些想要伤害你的用户吗?那么答案是,你对此无能为力。他们可以随心所欲地在浏览器中控制源代码。你必须做你的安全服务器端 但如果您想保护您的客户免受通过iframe加载的第三方网站上的邮件代码的影响,答案是: iframe相当安全。

我希望允许登录用户通过IFrame查看任何第三方内容

类似于允许Gmail用户在IFrame中查看他们想要的任何网络日历

允许用户设置IFrame Src Url是否存在安全问题

我将面临哪些安全问题

欢迎使用iFrame的任何其他需要了解的提示

谢谢


Rafael

你害怕那些想要伤害你的用户吗?那么答案是,你对此无能为力。他们可以随心所欲地在浏览器中控制源代码。你必须做你的安全服务器端

但如果您想保护您的客户免受通过iframe加载的第三方网站上的邮件代码的影响,答案是: iframe相当安全。xss/同源源代码策略在过去相当不错

当然,这样的事情总是有风险的。 您不必害怕iframe中的内容。 我更愿意推荐的是验证内容或src标记。 让它成为一个有效的url,然后你就会没事了

iframe中的页面可能做的唯一一件事就是将页面重定向到错误的站点。(因为document.location属性在不同来源的iframe中是可管理和可读的)。有一些方法可以防止这种情况,但它们并不可靠

您可以将外部网站的源加载到您的服务器,并通过设置base href属性将其输出到外部网站,这样所有内容都可以正确加载,然后您就可以检查/操作文档了。但是如果你想维护像javascript之类的高级东西,那就相当复杂了


总而言之:这个网站不会真的伤害你。但是用户。但是如果用户指定了一个不好的站点,那么这确实是她/他的问题。…

确保它是一个真实的URL,而不是类似于
javascript:doSomethingNasty()的东西,然后你就应该安全了。如果该页面来自不同的域,它将与该页面隔离,并且两个域都不能访问另一个域。

扩展Joe所说的内容:

这个网站不会真的伤害你。但是用户

这是中心点:只要所选的src仅由输入它的用户使用和查看,就不要紧了。用户所能做的一切都具有与在另一个浏览器选项卡中打开src相同的效果。你不应该介意那件事

如果其他用户也能看到src,情况就不同了。这一点一开始很明显,但想象一下:出于某种原因,src被缓存在URL的散列中,因此您的页面使用如下URL

http://www.myapp.com/view#http://www.thesrcpage.com
您应该避免这样做,因为恶意用户可能会将您的页面用作代理,为他们的受害者提供一个链接,该链接显然指向您的站点,但随后会打开另一个恶意站点

潜在的受害者可能会打开链接,因为他们信任你。如果链接伤害了他们,他们会责怪你