michaldudek / subdomain-blacklist
用户在设置账户时不应该使用的常见单词。
This package is auto-updated.
Last update: 2024-09-06 03:00:29 UTC
README
用户在设置账户时不应该使用的常见单词列表。
当您的应用程序或服务允许用户使用子域访问他们的账户时,例如 michaldudek.myapp.com,阻止某些单词是有用的,这样它们就不会占用您未来想使用的子域,或者更糟糕的是,试图欺骗您的其他用户相信它们代表您(例如 legal.myapp.com 或 support.myapp.com)。
除了黑名单之外,这个仓库的目标是提供各种语言的代码,用于验证用户名是否在列表中。
请注意,这个库的目标不是验证域名。您仍然需要检查给定的用户名是否构成一个有效的子域。
致谢
这个想法和列表最初来自 Sandeep Shetty。
规范
实现必须有一个名为 validate 的方法/函数,它接受单个字符串参数。
validate 方法/函数必须返回一个布尔值。
在验证字符串之前,必须对其进行规范化。字符串的规范化必须
- 删除任何后缀数字,
- 将大小写转换为小写,
- 如果字符串以
s结尾,则删除一个s字符。
addToList
实现可以包含 addToList(或 add_to_list 如果更适合该语言)方法/函数,将其他项目添加到黑名单中。
addToList 方法/函数必须接受单个字符串参数。
addToList 方法/函数可以接受一个字符串数组作为单个参数。
在通过 addToList 方法/函数将字符串项目添加到黑名单之前,必须加载默认黑名单。
在将字符串项目添加到黑名单之前,必须按照上述规则对其进行规范化。
getList
实现可以包含 getList(或 get_list 如果更适合该语言)方法/函数,返回黑名单。
使用和语言
有关如何在特定语言中使用此列表的更多信息,请参阅语言文件夹中的 README.md 文件。
当前支持
- php - 更多信息 -
$ composer require michaldudek/subdomain-blacklist dev-master
计划
- JavaScript (node.js)
- JavaScript (浏览器)
- Go
- Ruby
- Python
欢迎您添加对其他语言的支持。
贡献
目前,我们非常欢迎支持各种语言的拉取请求。
如果您添加了语言支持,请确保用适当的测试覆盖它。
如果您认为某些单词应该添加到列表中,请打开一个问题或发起一个PR。
如果您正在编辑代码,请确保遵循该语言的常见模式和规则。
在每个语言的相应目录中的特定 README.md 文件中了解更多信息。