【问题标题】:Codeigniter - Where should I store an array of reserved usernames?Codeigniter - 我应该在哪里存储一组保留的用户名?
【发布时间】:2013-10-02 17:15:31
【问题描述】:

我正在建立一个网站,并希望创建一个保留用户名列表,以防止人们创建帐户、索引、个人资料等用户名。我已经有了我的列表,我只是不确定 Codeigniter 在哪里存储这个数据/数组。

我对 Codeingiter 非常熟悉,我喜欢把东西放在它们应该在的地方。助手、库和配置看起来不像是存储保留变量数组的地方......但也许我错了。

非常感谢您的建议!提前致谢。

【问题讨论】:

  • 如果它是硬编码的,配置似乎是我存储它的最佳位置...如果不是,数据库确实更好

标签: codeigniter reserved-words


【解决方案1】:

这取决于你的需要和偏好,config 是对的,但是 helper 也是对的,因为如果你把它保存在 helper 文件中,那么你也可以在那里创建一个 helper 函数,例如

function is_reserved_username($username)
{
    $reserved_words = array('account', 'index');
    return in_array($username, $reserved_words);
}

所以,你可以在任何地方使用

if(is_reserved_username($this->input->post('username'))) {
    // it's a reserved word
}

另外,如果您使用自己的基本控制器 (MY_Controller),那么您可以将它保存在该基本控制器中,这样它就可以在每个类中使用,并且您可以使用类似的方式访问它

MY_Controller 中,如果它可以作为

$reserved_words = array('account', 'index');

controller/model 使用它

if(in_array($username, $this->reserved_words)) {
    // it's a reserved word
}

【讨论】:

    【解决方案2】:

    我认为没有任何“正确”的方法可以做到这一点。我个人只会在我的数据库中创建一个表。然后,我将创建一个函数,在新用户注册时检查此表中的保留名称,如果用户名未保留,则返回 TRUE,如果已保留,则返回 FALSE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 2018-04-26
      相关资源
      最近更新 更多