我怎样才能使我的所有webistes只能通过浏览器访问,而不是自动脚本

我的网站被一些自动运行的libwww-perl BOT/0.1 (BOT for JCE)Gecko/20100101

有没有什么办法可以让我的所有网站只适用于真正的浏览器,而不是这些自动化的脚本。

不,您不能确保您的网站只适用于真正的浏览器。 这是因为您唯一需要确定客户端平台和Web浏览器的数据源是请求头,这些头可以被黑客完全伪造。

例如,黑客可以使用像Fiddler这样的工具,通过伪造的User-Agent请求标头向您的网站发送自定义的HTTP请求,该标头看起来就像Internet Explorer,Chrome,Firefox,Googlebot或其他HTTP客户端。 因此,如果不是不可能的话,根据HTTP请求数据从合法用户辨别黑客是非常困难的。

我可以给你列出你可以忍受的无数防御(限制用户代理,使用XML文件中的JavaScript显示你的内容,validation码 – 一个让你的观众失望的好办法!),但是他们只会避开不可避免的,而他们如何解决它们。

通过这个问题的核心来争取利益是最好的,而不是在防守到位之后进行防御。 如果可以,请查看应用程序,并尝试了解他们如何进入,并尝试修补漏洞。 最显而易见的地方是表单input – 它们是否会先传递给SQLstring而不被先parsing? 他们是否生成SQLstring而不是使用预处理语句(这会消除单词go中的SQL注入尝试)? 如果这是你可以修复的东西,那么。 如果是别人的产品,请创build一个补丁并发送给他们。

你可以在安全方面做的最糟糕的事情是假设它不会发生在你身上。 蠕虫,病毒和自动机器人通常不够聪明,不能认识到你的小站点不是威胁。

要聪明,要安全,要注意。