【问题标题】:Reserve certain words in subdomain/Username在子域/用户名中保留某些单词
【发布时间】:2015-04-17 22:56:41
【问题描述】:

我已经设法在 nginx 和 php 中将用户名配置为子域(在 localhost 上,我不确定当我在 DigitalOcean 上托管它时它是否可以工作)。但现在我还有两个疑问/问题。

  1. 在子域中禁用某些关键字,如俚语、通用词等。
  2. 保留一些关键字,如 test、beta、rc,这些关键字应该只能从我们的开发机器访问。

如何实现它们?
nginx 是否可以访问数据库,因为我有一个保留字的小表,我使用这些保留字来禁用这些字作为用户名的注册。

我正在使用 PHP 5.6、Phalcon、nginx、Fedora(或 ubuntu,我们对在 VPS 上使用的感觉很复杂)。

【问题讨论】:

  • 如果你想禁止使用“foo”,你是禁止“bunnyfoo.yourdomain.com”还是只允许“foo.yourdomain.com”?
  • 我有一个表格,其中包含 830 个我们想要完全禁止的禁用词(粗俗、辱骂、其他俚语),以及另外 15 个我们只想禁用的词,例如 beta、testing、test 等能够从我们的开发机器访问。我认为“Foo.yourdomain.com”场景应该足够了。
  • 投反对票,我不介意投反对票,但我希望你告诉我哪里出了问题,以便我可以调整/纠正问题。另外,我已经研究了将近一周,所以在问这里之前我做了基本的谷歌搜索和stackoverflow搜索。
  • 最坏的情况,你可以设置明确的路由来解析一个“你不能使用那个词”的网页。

标签: php nginx subdomain wildcard-subdomain


【解决方案1】:

使用应用程序代码禁止使用粗俗的用户名。您必须检查新用户是否正在尝试使用现有名称。以同样的方式检查粗俗的名称。

拥有不允许的粗俗用户名,如果格式为 username.domain.com,您根本不会拥有粗俗子域。

Use "allow" and "deny" directives 通过 IP 地址限制访问。

【讨论】:

  • 感谢您的链接,这真的很有帮助。我已经在程序中处理用户名,我希望有一些方法可以限制服务器级别的连接。我想即使有,浏览这么长的单词列表只会降低网络性能。我会尝试修改 php 代码以提高单词检测的性能。
【解决方案2】:

在子域中有一些保留关键字,如 ns1.example.com、ns[number].example.com 等。您不能将其用作子域。这也不是一个好习惯。

【讨论】:

    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    相关资源
    最近更新 更多