我正在使用PHP为我的网站编写服务器端代码。阻止某人抓取我的数据的最佳方法是什么?
与PHP一样,如果有人使用file_get_contents()
或有人在iframe
元素中提取我的登录表单或在登录表单中输入的数据 -
我怎么能防止这样的事情呢?
我使用的是PHP 5.47,MySQL,HTML和CSS。
答案 0 :(得分:6)
我认为现在作为一名网络开发人员是可怕的,也许在网络安全方面存在着“过度杀戮”的诱惑。正如其他答案所提到的那样,不可能停止自动抓取,如果您遵循以下准则则不应该担心:
您正在考虑网站安全性。永远不要改变。
切勿从您不希望用户看到的服务器发送任何内容。如果用户无权查看,请不要发送。不要在jQuery.data()或数据属性中“隐藏”重要的部分。不要用混淆的JavaScript来甩掉东西。在用户登录等之前,请勿使用技术隐藏页面上的数据。
一切 - 一切 - 如果离开服务器,则可见。
如果您有内容要保护免受“内容服务器场”的攻击,请使用电子邮件验证用户注册(包括某种形式的GOOD reCaptcha混淆 - 大多数 - 机器人)。
保护您的服务器!!! 尽可能地确保您不会留下任何常见的漏洞。阅读本文 - > http://owasp.org/index.php/Category:How_To< - 是的。所有这些;)
阻止直接访问您的文件。更传统的方法是PHP文档顶部的defined('_SOMECONSTANT') or die('No peeking, hacker!');
。如果未通过适当的通道访问文件,则不会从服务器发送任何重要信息。
您是否担心cross site scripting (XSS)?
如果您担心在用户输入登录信息时拦截数据,您可以实施double verification(如Facebook)或使用SSL
这真的归结为您的网站将会做什么。如果它是工厂的一个运行,覆盖项目符号中的基础知识,并希望最好的;)如果它像银行网站一样敏感......嗯...不要做一个银行网站: p
撇开:我从不接触信用卡号等。我开发的任何网站都会礼貌地向一家有保险的公司提供API,以及致力于安全的员工队伍(不仅仅是一点点老我和我破碎的神经)。
答案 1 :(得分:0)
没有办法确保这一点。你可以实现一些试图阻止这种情况的Javascript函数,但是如果客户端只是停用JS(或者服务器只是忽略它),你就无法阻止它。
答案 2 :(得分:0)
要防止这种情况真的很难。我发现了类似的讨论here。这将回答您的大多数查询,但如果您想要更完美的保护,则需要Scrapesentry和Distil等复杂的程序和服务。
答案 3 :(得分:-1)
使用javascript或php,您只需减少数据报废。但你不能停止数据报废。 浏览器可以重新生成html数据。这样用户就可以查看您的页面源。得到那个。你可以禁用关键事件,但不能停止报废