如何通过识别浏览器指纹来防止网络蜘蛛



我知道我可以通过执行js script(canvas)来获取usr的浏览器指纹,但是如何防止使用随机指纹抓取我的网站的网络蜘蛛。 如何识别指纹是真是假?? 在端点中,我得到的指纹只是一个base64字符串,很容易伪造。

简短的回答:您将无法执行此操作。这是用户控制的输入,默认情况下可以伪造用户控制的输入。

长答案:

  1. 首先,不能保证网络蜘蛛甚至会运行javascript代码,所以你的指纹请求永远不会首先进入。
  2. 为了论证,让我们假设它总是如此。然后,攻击者可以在有效的浏览器上运行您的指纹识别码,并使用某种形式的操纵可以强制该脚本产生不同的结果(他想要的结果)。这将是让JS运行的方法,同时仍然伪造指纹。

简而言之,如果你想过滤掉机器人,你必须依靠reCaptcha,这似乎是市场上最有效的解决方案。