Javascript 如何通过识别浏览器指纹来防止网络蜘蛛?
我知道我可以通过excute js脚本(canvas)获得usr的浏览器指纹,但如何防止网络蜘蛛使用随机指纹抓取我的网站。如何识别指纹是真是假??在端点中,我得到的指纹只是一个base64字符串,很容易伪造。简短回答:你不能这么做。这是用户控制的输入,默认情况下,用户控制的输入可以伪造 长答覆:Javascript 如何通过识别浏览器指纹来防止网络蜘蛛?,javascript,security,web,web-crawler,fingerprinting,Javascript,Security,Web,Web Crawler,Fingerprinting,我知道我可以通过excute js脚本(canvas)获得usr的浏览器指纹,但如何防止网络蜘蛛使用随机指纹抓取我的网站。如何识别指纹是真是假??在端点中,我得到的指纹只是一个base64字符串,很容易伪造。简短回答:你不能这么做。这是用户控制的输入,默认情况下,用户控制的输入可以伪造 长答覆: 首先也是最重要的一点是,不能保证网络蜘蛛会运行javascript代码,因此您的指纹请求将永远不会出现在第一位 为了论证,让我们假设它总是这样。然后,攻击者可以在有效的浏览器上运行您的指纹代码,并且使用
简言之,如果你想过滤掉机器人,你必须依赖reCaptcha,这似乎是市场上最有效的解决方案。如果程序员能够成功地重新创建浏览器将发出的请求,你永远无法阻止刮板。谢谢你的回答。但我认为,如果我想识别从请求post数据解析的指纹字符串,攻击者可以使用python脚本直接调用我的API。我怎么做?我不能吗?如果我能识别指纹,我就会知道呼叫者的身份。问题是——如果用户的浏览器能计算指纹点——攻击者也能,而不会有任何问题。例如,他可以启动浏览器,获取有效指纹,并将其连接到python脚本中。这使您只能使用reCaptcha或API速率限制。