作者itoc.bbs@bbs.wretch.cc (啊啊啊啊~) 看板: plan
標題Re: [功能] 使用者自己開板
時間無名小站 (2004/12/28 Tue 00:12:27) Updated: 2004/12/28
※ 引述《pigco.bbs@cpu.tfcis.org (哈)》之銘言:
> 就是使用者隨便填E-mail後,
> 如果他改以填寫註冊單認證。
> 在站務審核通過的同時,
> 將他的E-mail改回X.bbs@bbs.X.X.X
> 不知道這樣改會不會反而造成其他錯亂??
> 我是覺得不只是在"使用者自己開板"這功能下應該如此,
> 平常也應該如此,不然會讓站務誤以為他真的是該E-mail的擁有者。
> 還是說E-mail有沒有確認過,應該用另一種方式表現比較好??
改了 ACCT 欄位要 transacct
: struct.h:struct ACCT
char email[60]; /* 目前登記的電子信箱 */
+ char vmail[60]; /* 通過認證的電子信箱 */
} ACCT;
: acct.c:acct_show()
prints(" \033[32m郵件信箱:\033[37m%s\n", u->email);
+ prints(" \033[32m註冊信箱:\033[37m%s\n", u->vmail);
: acct.c:acct_setup()
vget(++i, 0, "郵件信箱:", x.email, sizeof(x.email), GCARRY);
+ vget(++i, 0, "註冊信箱:", x.vmail, sizeof(x.vmail), GCARRY);
: bbsd.c:u_exit()
cuser.userlevel = tuser.userlevel;
cuser.tvalid = tuser.tvalid;
+ strcpy(cuser.vmail, tuser.vmail);
: user.c:do_pop3()
/* 提升權限 */
sprintf(buf, "POP: %s", addr);
justify_log(cuser.userid, buf);
strcpy(cuser.email, addr);
+ strcpy(cuser.vmail, addr);
if (acct_load(&acct, cuser.userid) >= 0)
: mailpost.c:verify_user()
/* 提升權限 */
acct.userlevel |= PERM_VALID;
time(&acct.tvalid);
+ strcpy(acct.vmail, acct.email);
lseek(fd, (off_t) 0, SEEK_SET);
write(fd, &acct, sizeof(ACCT));
: bmtad.c:bbs_valid()
/* 提升權限 */
acct.userlevel |= PERM_VALID;
time(&acct.tvalid);
+ srcpy(acct.vmail, acct.email);
lseek(fd, 0, SEEK_SET);
write(fd, &acct, sizeof(ACCT));
close(fd);
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已相簿 http://www.wretch.cc/album 有佈景主題 速度很快 可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不殆 itoc.Dorm11.NCTU.edu.tw海精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻