发信人: jackwu()
整理人: vol(1999-11-30 11:47:41), 站内信件
|
发信人: deardragon (【老农】----==>>⊙<<==----), 信区: InstallBBS
标 题: 不可注册 ID 判断的修正
发信站: 华南网木棉站 (Wed Nov 24 09:37:37 1999), 转信
下面是个badname的例子:
# 这是个 badname 的例子
# 不希望别人申请任何带有 test 或 root 子串的 ID .
# 不希望别人申请 GoodMan 或 goodman 这样的 ID .
# testit 将不允许申请
# agoodman 是可以申请的.
*test
*root
goodman
# '#' 号表示该行是注释
# '*' 号表示其后的子串在新 ID 中是不可出现的子串.
# 无上面两个标志的, 表示新 ID 不可以为该字符串.
# 例子完毕.
实现方法:
修改 register.c 中的 bad_user_id(userid) 函数:
int
bad_user_id(userid)
char *userid;
{
FILE *fp;
char buf[STRLEN];
char *ptr;
char ptr2[IDLEN + 2];
char ch;
ptr = userid;
while ((ch = *ptr++) != '\0') {
if (!isalnum(ch) && ch != '_')
return 1;
}
/* Modify by deardragon 1999.11.24 不可注册 ID 判断的修正 */
if ((fp = fopen(".badname", "r")) != NULL) {
strtolower(ptr2, userid);
while (fgets(buf, STRLEN, fp) != NULL) {
ptr = strtok(buf, " \n\t\r");
if (ptr != NULL && *ptr != '#'){
if((ptr[0] == '*' && strstr(ptr2, &ptr[1]) != NULL)
|| ptr[0] != '*' && !strcmp(ptr2,ptr) ) {
fclose(fp);
return 1;
}
}
}
fclose(fp);
}
/* Modify End. */
return 0;
}
--
-- 三年了,我终于等到了和她重新见面这一天!
咳咳:这生命中不能承受之轻啊............
E-MAIL:[email protected]
HOMEPAGE:http://jackwu.163.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.177.65]
|
|