2009-02-27 61 views
2

我只想保护每个请求后显示的特定号码。大约有30个这样的数字。我打算在这些数字的位置生成图像,但是如果图像没有像captcha那样扭曲,那么无论脚本是否能够解码数字?另外,加载图像对文本的性能影响有多大?如何保护我的网页上某些数据的抓取?

回答

7

这是不可能的。

  • 您使用javascript和加密页面,解密后使用document.write()调用。我要么从浏览器的显示屏中删除,要么通过JS引擎提供页面以获取输出。
  • 您使用Flash。我可以插入Flash文件并获取值。你可以在闪存中对它们进行加密,然后我可以运行它,然后将解释器显示的输出作为一系列图像抓取。
  • 您使用图像,我可以通过OCR喂食它们。

你在军备竞赛。你需要做的是让你的信息如此有用,并且你的网页如此易于使用,以至于你成为权威来源。定期更改输出格式以跟上变化也很方便,但除非您做出彻底的改变,否则屏幕刮板可以处理这些格式。根本性的改变将用户驱走,因为他们对这个页面一直不熟悉。

你的影像解决方案不会”帮助很大,并且图像是远远效率较低。一个数字在HTML编码中通常只有几个字节长。图像从几百字节开始,根据您想要的大小展开到1k或更多。图像也不会呈现在用户为其浏览器窗口选择的字体中,并且对使用辅助计算设备(视觉受损的人)的人无用。

1

生成包含这些数字的图像并显示图像。 :-)

1

我不能相信我提倡​​常见的恶意软件的脚本的战术,但是......

你可以编码号码作为都在运行时呈现编码的JavaScript。

5

除了图片之外,您可以使用JavaScript或Flash显示数字。

你也可以使用CSS来使用的绝对或相对位置的不同组合个别数字的位置。 您也可以使用JavaScript来帮助您创建这些DIV。 重点只是混淆,它变得非常困难。

还有一个解决方案是使用片段或单点和图像重新构建的使用CSS,有点像一个点阵显示数字的图像。 您可以用这些绝对定位的DIV散布页面的源代码,并且通过动态创建它们再次使其更难以重建。

无论如何,你不能从获取到的数据停止确定刮板:它并不需要很多的自动化网络浏览器,并采取能够被馈送到OCR截图。 无论如何,没有任何人能够通过人手来获取数据。

问题是:如何确定是你的对手(用户?)。
这有点像软件保护业务:让事情变得足够强大以至于阻止偶然的“盗版”并不难,而且这是一个相当不错的方法。

但是,如果在你目前的数据有多大价值,还有什么可以真正做到保护它。
所有你可以做到这一点,使得休闲“盗贼”更愿意继续为你的服务付费,而不是绕过它。

+0

使用JS,你可以一次DOM已准备就绪,在一个批处理加载所有这些数字做一个AJAX请求。然后将它们分配给适当的元素。请记住,只有当JS在刮边时关闭才有效。 – 2009-02-27 00:38:52

0

你能提供一些关于你在做什么的更多细节吗?当然,创作一张图片会有一个性能上的冲击,而不是倾倒出一个数字的文字,但是你每隔多久会这样做?

使用JavaScript与使用文本相同。这对逆向工程来说是微不足道的。

2

的Javascript很可能是最容易实现的,但你可以得到真正的创意,并通过将图层上无效的电话号码之上,错了数字融合到背景中,或使有一定的人被看到很多大的块它们通过css和半随机生成的类名不可见。

9

只有这样,才能确保坏家伙没有得到你的数据不与任何人分享。任何其他解决方案实质上都是与屏幕刮刀进行军备竞赛。无论如何,你们其中一人会发现这场军备竞赛过于昂贵而无法继续。如果您分享的数据具有任何可感知的价值,那么屏幕刮板可能会非常确定。

+0

这是真的,基本上如果你免费赠送它,那么你可以做的事情不多,以阻止人们接受它 – nailitdown 2009-02-27 06:02:08

0

使用闪光灯使用动画数字。这可能不是傻瓜证明,但它会使它更难以破解。

0

如何发布大量的虚拟数字并显示正确的外部CSS?只要刮刀不开始解析外部CSS。

0

不输出的数字,即前缀

echo $secretNumber; 

//

+0

这是一个很好的答案,但可能对非屏幕刮板(即普通用户)稍微不方便;) – alex 2009-02-27 05:06:37

0

对于所有那些建议使用Javascript,CSS或混淆的数字,那么有可能是变通的办法。 Firefox有一个名为abduction的插件。基本上它所做的就是将页面保存为一个图像文件。您可以修改此插件来保存图像,然后分析图像以找出试图隐藏的秘密编号。

基本上,如果你的身后从网页抓取这些数字足够的激励,那么它会做。否则,只需发布​​一个常规号码,让用户更容易,这样他们就不用担心无法复制和粘贴号码或其他类似问题,从而导致此欺骗。

0

只是做一些意想不到的和奇怪的(每次不同)w/CSS框模型。强制他们实际使用浏览器支持的screenscraper。

0

我不认为这是可能的,你可以使自己的工作更难(使用图像作为一些建议在这里),但是这是你能做的一切,你不能从获取数据,如果停止一个有决心的人,不想让他们刮您的数据,并没有公布它,就这么简单......

0

假设这些数字通常被更新(如果他们没有那么保护他们完全是没有实际意义的人可以只用手抄录)可以限制通过节流的自动刮取。一个自动脚本必须经常打你的网站来检查更新,如果你可以限制这些检查你赢了,而不诉诸混淆。请参阅this question

1

我认为你们对这些解决方案的反应太强烈。 Javascript,Capcha,甚至诉讼和DMCA流程都没有解决网络抓取和数据窃取的复杂适应性问题。难道你不认为用于实时主动缓解策略的“理想”解决方案可以防止恶意机器人和网站欺诈吗?与内容保护网络非常相似。只是说'n。

例子:

IBM - IBM ISS Data Security Services

提炼 - www.distil.it