|
|
1
1
不幸的是,这是不可能的。 使用javascript,您可以检查页面是否嵌入到另一个框架中,但这并不是简单的,因为在某些人的浏览器中可以关闭javascript。 例如,如果需要,可以运行以下javascript来重新设置页面:
|
|
|
2
1
想想这个…我不相信这是完全安全的,但我想这是一个机会- 唯一能做到这一点的方法是,如果你控制了它将嵌入的站点。如果控制它们,则可以将时间从帧集加密到帧:
然后,php对消息进行解密,以在一个小的增量(比如10秒)内找到时间。因为frame.php知道只有可接受的站点才能加密时间,所以它知道自己可以显示出来。否则,它不会输出任何内容。 任何其他东西,无论是javascript还是http_-refer,都可以被欺骗、关闭或规避。 事实上,使用该URL,只要用户在10秒内加载您的帧,攻击者就可以在任何地方显示您的帧。所以攻击者只需刮掉接受的站点,并获取密钥。如果这个威胁模型对你来说是不可接受的——那么你真的无能为力(除了一个更复杂的协议)。 |
|
|
3
1
我会像Google实现Adsense一样实现这一点。与其让他们在自己的站点中嵌入iframe代码,不如让他们嵌入一些包含帐号的javascript:
至少通过这种方式,您可以管理谁在每个帐户的基础上显示您的iframe内容。如果有人未经授权试图使用您的iframe,您可以禁用该帐户。您还可以通过javascript(在浏览器的安全限制范围内)检查文档的属性,以防止未经授权的访问。 |
|
|
4
1
屏幕抓取可能是一种可能的解决方案。 在您的站点上设置访问列表,以仅接受来自已批准的站点Web服务器的请求,并向其颁发安全令牌。这是最容易的部分。 开发团队在他们的一端需要设置一个中继servlet来获取您的内容,然后将其显示给用户(在重写任何相关的URL之后)。 这可能非常复杂,但您可以更好地控制谁访问该站点。此外,您发出的任何安全令牌对Web用户都不可见,因为它只应在两个Web服务器之间传输。 |
|
|
5
1
您可以使用秘密salt+日期对客户端IP进行MD5(或加密以提高安全性),并将其作为参数传递到iframe-src-url中。在iframe中,您执行相同的操作,并检查结果是否与参数相同;如果不相同,则拒绝访问。 |
|
|
6
0
你能不能查一下
在您的情况下,您可能希望先解析出地址,然后检查
这不是傻瓜证明,因为人们可以伪造裁判, 但是 也许你可以在两台服务器之间做一些1使用密钥和其他通信。如果钥匙已被使用,则不可使用。 |
|
|
7
-2
谢谢你所有的好主意!我认为我要使用的解决方案是由批准的“iframing”站点设置的会话cookie。有人真的下定决心仍然能够获取内容,但我认为我可以通过在双方都有某种共享秘密的基础上提出一个体面的“秘密”算法来防止大多数的滥用,并让批准的站点设置一个会话cookie,我的PHP站点将读取该cookie。如果cookie是有效的并且符合我的标准,我将显示内容,否则我不会。我保护的信息不是关键任务,我只是试图防止它被滥用。 |