michaldudek/subdomain-blacklist

用户在设置账户时不应该使用的常见单词。

0.9.1 2015-06-07 20:49 UTC

This package is auto-updated.

Last update: 2024-09-06 03:00:29 UTC


README

用户在设置账户时不应该使用的常见单词列表。

Build Status SensioLabsInsight HHVM Status

当您的应用程序或服务允许用户使用子域访问他们的账户时,例如 michaldudek.myapp.com,阻止某些单词是有用的,这样它们就不会占用您未来想使用的子域,或者更糟糕的是,试图欺骗您的其他用户相信它们代表您(例如 legal.myapp.comsupport.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 文件中了解更多信息。