这个问题已经困扰我一段时间了。我有这个ircbot,我有一些命令需要对除我以外的所有用户(和其他几个计算机/用户)锁定。
以前,我有它,这样它就会在数据库中存储一个nick列表,该列表将被允许访问管理员专用函数,但是这被证明是不安全的,因为如果我断开连接并访问这些函数,任何用户都可以假设我的nick。
我正在考虑的一种方法是有一个模块的方法来处理"登录"one_answers"注销"功能(以及存储登录的尼克斯),虽然这也可能是麻烦的。(参见nick change问题)
拥有"仅管理"功能的健壮且安全的方法是什么?假设我目前没有办法使用DCC
使用PRIVMSG的userhost部分,这就是我所做的。我使用具有属性userhosts的User类,该属性是与特定用户匹配的用户主机列表。虽然我的代码是python,但同样的原则应该适用;]
如果你想看我的版本,请访问http://code.google.com/p/jsonbot/source/browse/jsb/lib/users.py