如何防止有人抓取我的网站数据?

时间:2013-12-05 07:31:12

标签: php web web-scraping

我正在使用PHP为我的网站编写服务器端代码。阻止某人抓取我的数据的最佳方法是什么?

与PHP一样,如果有人使用file_get_contents()或有人在iframe元素中提取我的登录表单或在登录表单中输入的数据 - 我怎么能防止这样的事情呢?

我使用的是PHP 5.47,MySQL,HTML和CSS。

4 个答案:

答案 0 :(得分:6)

我认为现在作为一名网络开发人员是可怕的,也许在网络安全方面存在着“过度杀戮”的诱惑。正如其他答案所提到的那样,不可能停止自动抓取,如果您遵循以下准则则不应该担心:

  • 您正在考虑网站安全性。永远不要改变。

  • 切勿从您不希望用户看到的服务器发送任何内容。如果用户无权查看,请不要发送。不要在jQuery.data()或数据属性中“隐藏”重要的部分。不要用混淆的JavaScript来甩掉东西。在用户登录等之前,请勿使用技术隐藏页面上的数据。

    一切 - 一切 - 如果离开服务器,则可见。

  • 如果您有内容要保护免受“内容服务器场”的攻击,请使用电子邮件验证用户注册(包括某种形式的GOOD reCaptcha混淆 - 大多数 - 机器人)。

  • 保护您的服务器!!! 尽可能地确保您不会留下任何常见的漏洞。阅读本文 - > http://owasp.org/index.php/Category:How_To< - 是的。所有这些;)

  • 阻止直接访问您的文件。更传统的方法是PHP文档顶部的defined('_SOMECONSTANT') or die('No peeking, hacker!');。如果未通过适当的通道访问文件,则不会从服务器发送任何重要信息。

    您还可以meddle with your .htaccessgo large and in charge.

您是否担心cross site scripting (XSS)

如果您担心在用户输入登录信息时拦截数据,您可以实施double verification(如Facebook)或使用SSL

这真的归结为您的网站将会做什么。如果它是工厂的一个运行,覆盖项目符号中的基础知识,并希望最好的;)如果它像银行网站一样敏感......嗯...不要做一个银行网站: p


撇开:我从不接触信用卡号等。我开发的任何网站都会礼貌地向一家有保险的公司提供API,以及致力于安全的员工队伍(不仅仅是一点点老我和我破碎的神经)。

答案 1 :(得分:0)

没有办法确保这一点。你可以实现一些试图阻止这种情况的Javascript函数,但是如果客户端只是停用JS(或者服务器只是忽略它),你就无法阻止它。

答案 2 :(得分:0)

要防止这种情况真的很难。我发现了类似的讨论here。这将回答您的大多数查询,但如果您想要更完美的保护,则需要Scrapesentry和Distil等复杂的程序和服务。

答案 3 :(得分:-1)

使用javascript或php,您只需减少数据报废。但你不能停止数据报废。 浏览器可以重新生成html数据。这样用户就可以查看您的页面源。得到那个。你可以禁用关键事件,但不能停止报废

相关问题