繁体   English   中英

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

[英]How to prevent someone from scraping my website data?

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

就像在PHP中一样,如果有人使用file_get_contents()或有人在iframe元素中获取我的登录表单或在登录表单中输入的数据-我该如何防止这种情况发生?

我正在使用PHP 5.47,MySQL,HTML和CSS。

我认为,如今作为一名Web开发人员令人恐惧,并且在涉及Web安全性时可能会陷入“过度杀伤”的诱惑。 正如其他答案所提到的那样,不可能停止自动抓取,并且如果您遵循以下准则,也不必担心:

  • 您正在考虑网站安全性真是太好了。 从不改变。

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

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

  • 如果您要保护内容免受“内容场”抓取的影响,请使用经过电子邮件验证的用户注册( 包括某种形式的GOOD reCaptcha,以使大多数bot感到困惑 )。

  • 保护您的服务器!!! 尽最大可能,请确保不要留下任何常见的漏洞。 阅读此-> http://owasp.org/index.php/Category:How_To <-是的。 所有的 ;)

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

    您也可以与.htaccess混为一谈,或者直接负责。

您可能担心跨站点脚本(XSS)吗?

如果您担心用户输入登录信息时会截取数据,则可以实施双重验证 (如Facebook)或使用SSL

实际上,一切都归结为您的网站将要做的事情。 如果是工厂站点,请在要点中介绍基础知识,并希望获得最好的结果;)如果它像银行站点之类的敏感项目,那么……还不做银行站点: P


顺便提一句:我从不触摸信用卡号等。 我开发的任何网站都会礼貌地使用API​​来注册一家拥有保险和专门负责安全工作的员工的公司(不仅是年迈的小老兄和我的神经衰弱的人)。

使用javascript或php,您只需减少数据报废。 但是您无法停止数据抓取。 浏览器可以读取html数据。 因此用户可以查看您的页面源。 并得到。 您可以禁用按键事件,但无法停止抓取

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

确实很难防止这种情况。 在这里找到了类似的讨论。 这将回答您的大多数疑问,但是如果您想要更完善的保护,则需要诸如Scrapesentry和Distil之类的复杂程序和服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM