该存储库将在不久的将来取代新的实施:
请访问https://github.com/noscrape/noscrape-node以获取更多信息
noscrape背后的主要机制是使用任何真实型字体。由此, noscrape生成了一个带有改组的Unicodes的新版本,以确保无法对其进行反向计算。这意味着两个字符串和整数都被混淆,只能使用产生的混淆font进行解密。
尽管字体内部的字形路径不能完全删除,但它们会通过稍微稍微移动它们来混淆。这使得对它们进行反向计算,但这并非完全不可能,尤其是对于机器学习算法而言。开发人员对改善这一方面的建议开放。
在这个时代,人工智能越来越多地成为我们日常生活不可或缺的时代,重要的是要记住,AI在数据上蓬勃发展,您的数据是一种宝贵的商品,不应轻易散布。
noscrape ,以防止网络刮板。这对于您网站独有的内容特别有用,因此您希望在未经许可的情况下防止复制或使用它。noscrape来混淆敏感信息,例如个人标识符,财务详细信息或机密文本,以视觉上访问但可以保护,但可以防止刮擦和自动化数据提取工具。noscrape的保护,刮擦它们就没有意义,并且可以减少机器人交互的数量,从而降低成本。noscrape以安全的方式显示信息。要安装@noscrape/noscrape软件包,只需在项目目录中运行以下命令:
npm install @noscrape/noscrape const { Noscrape } = require ( '@noscrape/noscrape' ) ;
// create noscrape instance
const noscrape = new Noscrape ( 'path/to/font.ttf' , { options } )
// obfuscate data
const number = noscrape . obfuscate ( 123 ) ;
const string = noscrape . obfuscate ( "noscrape" ) ;
const object = noscrape . obfuscate ( { title : "noscrape" , text : "obfuscation" } ) ;
// generate obfuscation font buffer after all obfuscation is done
const font = noscrape . getFont ( ) ;然后向客户端/前端提供font和data
< style >
@font-face {
font-family: 'noscrape-obfuscated';
src: url('data:font/truetype;charset=utf-8;base64,${font.toString("base64")}');
}
</ style >该字体以缓冲格式传递。要在我们的网页中使用它,我们将其转换为base64 URL,然后将其嵌入自定义@font-face声明中。完成此操作后,我们可以使用我们的样式中指定的font-family显示混淆的数据。
< span style = "font-family: noscrape-obfuscated" >
< div > { object . title } < / div>
< div > { object . text } < / div>
< / span > 机器人可能无法处理混淆的文本,这可能会导致不可预测的分析结果。因此,建议不要将此技术用于索引页面必不可少的内容。混淆过程需要一些时间(标准机上约50-60ms)。对于API请求,建议将混淆逻辑放入计划的任务并重复使用结果,而不是为每个请求重新计算所有内容。

角色范围
这定义了用于加密的字符范围。选项包括:
低内存
此选项适用于有限内存的情况,其中noscrape无法加载所提供的字体文件。默认值为false。
开发人员欢迎贡献,问题和功能请求。如果您使用了此软件包并修复了错误,他们鼓励您提交PR。
该软件包是由BernhardSchönberger获得MIT许可证的。