检测Unicode同形符的可混淆用法,防止同形符攻击。

confusable_homoglyphs的Python项目详细描述


可混淆的同音字[doc]

https://img.shields.io/travis/vhf/confusable_homoglyphs.svghttps://img.shields.io/pypi/v/confusable_homoglyphs.svgDocumentation Status

同形符是两个或多个具有 形状相同或非常相似wikipedia:Homoglyph

Unicode同构字在Web上可能是一个麻烦。你最受欢迎的 客户阿拉斯加州爵士,可能会对被一个骗子冒充感到不安 故意选择用户名_laskajazz。

  • AlaskaJazz是单个脚本:只有拉丁字符。
  • ΑlaskaJazz是混合脚本:第一个字符是希腊语 信。

你可能还想避免人们被骗进入 密码位于www.microsоft.comwww.faϲebook.com,而不是 www.microsoft.comwww.facebook.comHere is a utility播放 使用这些可混淆的同形符

但并非所有混合脚本字符串都必须排除,您只能 排除包含以下字符的混合脚本字符串 与您选择的某些Unicode块中的字符混淆。

  • Alloρττ很好:单个脚本。
  • AlloΓ在首选脚本别名为“拉丁文”时很好:混合脚本,但Γ不可混淆。
  • Alloρ很危险:混合脚本和ρ可能与 p

这个库与Python2和Python3兼容。

数据是最新的吗?

是的。

将提取每个字符的Unicode块别名和名称 来自this file 由Unicode联盟提供。

哪个字符的矩阵可以与哪个字符的矩阵相混淆 字符是使用this file生成的 由Unicode联盟提供。

此数据存储在两个json文件中:categories.jsonconfusables.json。如果删除它们,它们都将由 下载和解析上述两个文件并存储为json 又是文件。

历史

1.0.0

初次发布。

2.0.0

  • 允许的类别重命名为允许的别名

3.0.0

由Ryan P Kilby提供,通过https://github.com/vhf/confusable_homoglyphs/pull/6

  • 将文件路径更改为相对于可混淆的包目录而不是用户的当前工作目录。
  • 数据文件现在随打包一起分发。
  • 修复测试,以便它们使用已安装的发行版而不是本地文件。(最初,数据文件在测试期间错误地显示,尽管没有包含在分布中)。
  • 将数据文件生成移动到简单的cli中。这样,用户就可以控制数据文件的更新时间。
  • 由于数据文件现在包含在分发版中,因此cli是可选的。它的依赖项可以通过cli包安装,例如pip install confusable_homogyphs[cli]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp