防止在Firefox中选择/复制到剪贴板

时间:2009-01-15 10:47:32

标签: javascript firefox

我需要阻止用户使用java脚本在浏览器Mozilla Firefox中选择文本(全选或选择一部分文本)。 我使用Internet Explorer完成了这项工作,但似乎不适用于Mozilla。

任何提示?网址是什么?样品

TIA。

编辑:

实际上,我们的客户要求这个荒谬的问题。是的,我们已经向他们解释过,还有其他数千种获取文本的方法。但他们回答说他们知道这一点,他们只是想阻止业余用户这样做。

我已经完成了一些Google搜索,并在解决方案here中找到了类似的问题。

7 个答案:

答案 0 :(得分:15)

如果您真的想阻止人们对其进行复制粘贴,请将文本渲染为图像。 Javascript技巧总是可以被禁用和/或解决。

当然,防止人们复制文本的最佳方法是根本不显示它们 - 它们可能会读取它并重新输入! ; - )

答案 1 :(得分:4)

没有办法完全保护您发布的内容,缺少DRM方案,而这些方案的普及程度不足以对网站有用。但是为了防止简单的复制和粘贴,有几种方法,每种方法对用户来说都非常烦人。

一种简单的方法是使用CSS定位用另一个元素(例如DIV)覆盖文本。这意味着当用户尝试单击DIV以选择文本时,将无法选择文本。应该在任何支持CSS的浏览器中工作,而在不支持CSS的浏览器中,它可能完全不可见。单击页面并按 CTRL + A (或其他一些快捷键)可能仍然选择文本,并且可能无法阻止所有可以执行的键和鼠标事件得到文字。但是这种DIV“盖子”的方法至少是不引人注目的,很容易概括。但是,通过查看HTML源代码,这很容易被打败。通过关闭CSS(在Firefox中很容易做到,而且很多Firefox用户都足够复杂)来实现它并不是一件容易的事。

更强大的方法是将文本渲染为图形,使用常规图像文件或类似PDF。但是图形可以是OCR。有免费的工具。

最后,您可以将文本放在Flash或Java小程序中,这样可以从服务器下载文本。有人可能会窃取您的applet但由于同源安全策略而难以与您的Web服务器通信(注意:这也可以解决)。这种方法并不比PDF方法好多了,只是它使得抓取整个文档变得更加困难,因为applet一次只显示文档的一部分。为了使用OCR打败这个,攻击者必须进行屏幕捕获。或者他们可以对您的applet进行逆向工程,并制作一个新的applet(甚至是常规程序),从服务器下载所有内容。

所有这些方法只是最基本的用法,我怀疑你会发现它们根本没有帮助。你可能会获得更多的投资回报,而不是建立有用的功能。

答案 2 :(得分:2)

据我所知,不可能。

此外,用户始终可以从选项页面禁用Javascript。因此,您无法真正依赖使用Javascript来保护您的数据。

在IE和Firefox中,用户都可以选择查看HTML页面的来源。

答案 3 :(得分:2)

我只能建议不要试图阻止用户选择网站上的文字。想要复制具有不良意图的文本的用户总能找到方法,但是您会激怒那些只想复制链接或想要复制某些文本以便将其轻松粘贴到搜索框中的用户。

答案 4 :(得分:2)

为什么每个人都认为防止选择的目的必须是因为你想要保护文本。如果测试在您的UI中的某个位置,如果不需要复制文本和意外选择,那会很烦人。

答案 5 :(得分:0)

谷歌图书似乎在防止复制文本/图像内容方面做得很好。但我不知道他们是如何实现这一目标的。

答案 6 :(得分:0)

您还可以将文本渲染为嵌入式Flash对象。这是一种非常简单的技术,通常用于博客模板