如何防止未经授权的视图内容(php / js)

时间:2011-06-09 17:57:06

标签: php javascript jquery ajax

如何防止(未经授权)人们阅读网站上的消息(例如,在浏览器缓存中查找文本/图像)?**

  • 这是一个PUBLIC(!)网站(表示:此处无需登录!)

但是:

  • (秘密)消息仅显示一段时间。

  • 只有在给出密码时才会显示该消息。

问题:

  • 在Opera中,例如页面(=页面内容/文本)可以被浏览器编入索引并进行搜索。

  • 一个想法是创建一个带有消息的图像......但是:图像 - 即使发送标题“无缓存”也可以从FireFox的缓存中检索。

  • 另外:从单个字符重新创建消息,因为图像不起作用(至少我现在这么认为)。我试过这个方法,但它输出很慢(写这个:我注意到我不需要在运行时创建图像,但可以提前创建图像(单个字母)并显示/引用它们不是真实的,但HTML中的伪随机名称

  • 我也有想法输出编码信息(ROT13)(用HTML格式),但使用JS .onload立即解码邮件。问题:如果此代码在HTML中,则可以稍后从缓存中恢复。至少如果有人搜索(Opera)缓存,该人可能不会想到输入编码的搜索词。

编程语言是PHP。

3 个答案:

答案 0 :(得分:1)

你做不到。如果有人截取此屏幕截图怎么办?

答案 1 :(得分:1)

您可以在加载页面后使用javascript将密码添加到页面中。您想通过AJAX检索密码,然后将其写入页面 - 这样,代码不会缓存在源代码的HTML部分中,并且它不会位于页面源代码中的javascript中

使用AJAX传输的内容相当短暂,不会被缓存或以其他方式录制。

由于我对你的HTML或你可能正在使用的javascript框架一无所知,我不能给你一个代码示例,但你应该能够使用这个概念。

答案 2 :(得分:1)

实际上,如果它被发送到客户端并显示在屏幕上,那么您无法阻止该消息被保存或存储在客户端计算机上。无论你采取什么措施来阻止这种保存仍然可以通过一个简单的屏幕截图来绕过。

如果您不关心该消息的目标是保存所述消息,那么我认为您最好的做法是使用Flash与Flash一起调用服务器来检索消息并显示它。另一种选择可能是使用javascript对服务器执行某种形式的调用(AJAX),然后发送回消息并更改DOM以显示消息。我不认为这会被缓存,但除非您使用SSL,否则它可以由中间代理存储。

相关问题