我自己写了一段代码在main.c中
if((strcmp(uid,"SYSOP")==0) || (strcmp(uid,"sysop")==0))
{
if ((strcmp(uinfo.from,"127.0.0.1")==0)||(strcmp(uinfo.from,"localhost"))==0)
break;
else
{
prints(" %c[1;33;41m警告:本站SYSOP只能从主机登陆,如果你真是SYSOP,
请从主机登陆!%c[m \n",27,27);
oflush();
sleep( 1 );
exit( 1 );
}
}
问题有二,1.好像逻辑不太严密,对于用户输入sYsOP就可以绕过,但是如果排列
组合下来,SYSOP有10种可能?怎么样写比较简洁囊括或者有好的办法检测大小写?
2.好像这几行代码并没有实现我想要得功能,不管是否从主机登陆,只要输入的是
SYSOP或者sysop就必定退出.
uinfo.from这个结构体成员变量我是自己猜得,没有具体看定义,不知道怎么用
哪位能够指教一下?
--
FROM data.huawei.com