我们有一个可search的数据库(DB),我们将结果限制为每个页面15个,只有100个结果,但仍然有人试图抓取该网站。
我们禁止那些速度够快的网站。 我想知道还有什么我们可以做的。 Flash渲染结果可能?
通过AJAX检索logging,并使用AJAX调用的身份validationID(如API键),可以使其变得更加困难。
当然,你可以通过阅读ID来解决这个问题,然后使用它来发送AJAX请求。
与Flash呈现是一种替代,因为你指出(尽pipe仍然不是100%不可解),就像在PDF中呈现一样。
由于你的数据库显然是有需求的,你有没有想过要把它变成什么样子? 与刮板build立业务联系,鼓励与API合适使用?
有一些很好的信息, 你如何阻止脚本每秒钟砰的一次你的网站数百次?
没有任何技术解决scheme来阻止有动机的个人窃取您公开访问的内容。
但是,您可以通过以下方式合法保护您的知识产权:
如何设置身份validation(可能是validation码),跟踪使用情况以及限制对某些logging或search的访问是否是给定的时间段?
你可能会发现,当你使用不同的技术时,刮板会改善他们的来临。 也许有一种方法可以分析用户的行为,这些用户是否会出现validation码或其他破坏? 也许你可以在一段时间内将结果限制在一个较小的数值上,迫使刮板等待10天。 如果他们之间没有login,那么假设他们是scapers?
无论你做什么,一定要把你的技术混合起来,给他们一点点长寿。
你需要考虑到刮板可能没有使用你的网页和表单,他们可能只是在http层次上调用你的网站。
我认为最好的解决办法是在ip地址请求超过一定的请求阈值后抛出catchpa。
您需要非常小心,以确保您不会影响真正用户的应用程序的可伸缩性。
如问题中所述,限制每页数据量只会增加客户端针对您的服务器请求的数量。