ÓÑÇéÌáʾ£º
°²×°²å¼þÓзçÏÕ£¬Çë½÷É÷ÐÐÊ£¡°²×°Ç°×¢Òⱸ·ÝÏàÓ¦µÄÎļþÒÔ¼°Êý¾Ý¿â£¡ÐèÒªÔËÐÐsafeins.php»òÊÖ¶¯ÔÚpw_members±íÀïÃæÔö¼ÓÁ½¸ö×Ö¶ÎÀ´¼Ç¼Óû§µÄ°²È«Ñ¡Ôñ£¡
±¾»ú²âÊÔͨ¹ý£¬ÓÐbugÇëÁôÑÔ£¡£¡1.register.php
²éÕÒ
foreach($S_key as $value){
if (strpos($regname,$value)!==false){
Showmsg('illegal_username');
}
if (strpos($regpwd,$value)!==false){
Showmsg('illegal_password');
}
}
ÔÚºóÃæÌí¼Ó
if($regquestion != 0 && trim($reganswer)==""){
showmsg("ÄúÑ¡ÔñÁ˰²È«ÎÊÌ⣬´ð°¸²»ÄÜΪ¿Õ£¡");
}
¼ÌÐø²éÕÒ
$rg_sign = Char_cv($regsign);
ÔÚºóÃæÌí¼Ó
$rg_answer = trim($reganswer);
¼ÌÐø²éÕÒ
$db->update("INSERT INTO pw_members (username, password, email,publicmail,groupid,memberid,icon,gender,regdate,signature,introduce,oicq,icq,site,location,bday,receivemail,yz,signchange) VALUES ('$rg_name','$rg_pwd','$rg_email','$rg_emailtoall','$rg_groupid','$rg_memberid','$regicon','$rg_sex','$timestamp','$rg_sign','$rg_introduce','$rg_oicq','$rg_icq','$rg_homepage','$rg_from','$rg_birth','$rg_ifemail','$rg_yz','$rg_ifconvert')");
Ìæ»»Îª
if($regquestion != 0){
$db->update("INSERT INTO pw_members (username, password,safeq,safea, email,publicmail,groupid,memberid,icon,gender,regdate,signature,introduce,oicq,icq,site,location,bday,receivemail,yz,signchange) VALUES ('$rg_name','$rg_pwd','$regquestion','$rg_answer','$rg_email','$rg_emailtoall','$rg_groupid','$rg_memberid','$regicon','$rg_sex','$timestamp','$rg_sign','$rg_introduce','$rg_oicq','$rg_icq','$rg_homepage','$rg_from','$rg_birth','$rg_ifemail','$rg_yz','$rg_ifconvert')");
}else{
$db->update("INSERT INTO pw_members (username, password, email,publicmail,groupid,memberid,icon,gender,regdate,signature,introduce,oicq,icq,site,location,bday,receivemail,yz,signchange) VALUES ('$rg_name','$rg_pwd','$rg_email','$rg_emailtoall','$rg_groupid','$rg_memberid','$regicon','$rg_sex','$timestamp','$rg_sign','$rg_introduce','$rg_oicq','$rg_icq','$rg_homepage','$rg_from','$rg_birth','$rg_ifemail','$rg_yz','$rg_ifconvert')");
}
2. register.htm
²éÕÒ
<!--
EOT;
if($rg_emailcheck){print <<<EOT
-->
<font color=red>ÕʺÅÐèÒªEMAIL¼¤»î,ÇëÈçʵÌîд</font>
<!--
EOT;
}print <<<EOT
-->
</td></tr>
ÔÚºóÃæÌí¼Ó
<tr>
<td class='f_one'>°²È«ÌáÎÊ:</td>
<td class='f_one'><select name="regquestion">
<option value="0">ÎÞ°²È«ÌáÎÊ</option>
<option value="1">ϲ»¶µÄµØ·½</option>
<option value="2">×î×ð¾´µÄÈË</option>
<option value="3">×îÏëÈ¥µÄµØ·½</option>
<option value="4">Äú×îÏëÄîµÄÈËÃû×Ö</option>
<option value="5">ÄúµÄ¸öÈ˼ÆËã»úµÄÐͺÅ</option>
<option value="6">ÄúËùÔÚµÄÊ¡ÊÐ</option>
<option value="7">Éí·ÝÖ¤µÄ×îºóËÄλÊý×Ö</option>
<option value="8">Äú×îϲ»¶µÄ²Ù×÷ϵͳ</option>
</select> <b>Èç¹ûÄúÆôÓð²È«ÌáÎÊ£¬µÇ¼ʱÐèÌîÈëÏàÓ¦µÄÏîÄ¿²ÅÄܵǼ</b>
</td>
</tr>
<tr>
<td class='f_one'>»Ø´ð:</td>
<td class='f_one'><input type="text" name="reganswer" size="25"></td>
</tr>
3. require/checkpass.php
²éÕÒ´úÂë
function checkpass($username,$password,$sq,$sa){
½«ÆäÌæ»»Îª
function checkpass($username,$password,$sq,$sa){
¼ÌÐø²éÕÒ´úÂë
$men_pwd=$men['password'];
ÔÚºóÃæÌí¼Ó
$men_sq =$men['safeq'];
$men_sa =$men['safea'];
¼ÌÐø²éÕÒ´úÂë
$men=$db->get_one("SELECT m.uid,m.password,m.groupid,m.yz,md.onlineip FROM pw_members m LEFT JOIN pw_memberdata md ON md.uid=m.uid WHERE username='$username'");
Ìæ»»Îª
$men=$db->get_one("SELECT m.uid,m.password,m.safeq,m.safea,m.groupid,m.yz,md.onlineip FROM pw_members m LEFT JOIN pw_memberdata md ON md.uid=m.uid WHERE username='$username'");
¼ÌÐø²éÕÒ´úÂë
if(strlen($men_pwd)==16){
$check_pwd=substr($password,8,16);/*Ö§³Ö 16 λ md5½ØÈ¡ÃÜÂë*/
}
ÔÚºóÃæÌí¼Ó
if($men_sq!='0'){
if($sq == 0){
showmsg("ÄúÒѾÉèÖÃÁ˰²È«ÎÊÌ⣬Çë·µ»Ø£¡");
}elseif($sq!=$men_sq || trim($sa)!=$men_sa){
showmsg("ÄúÑ¡ÔñµÄ°²È«ÎÊÌâ»ò´ð°¸ÓëÄúÉèÖõIJ»·û£¡");
}
}elseif($men_sq=='0' && $sq != 0){
showmsg("ÄúûÓÐÉèÖð²È«ÎÊÌ⣬Çë·µ»Ø£¡");
}
4.login.htm
²éÕÒ´úÂë
[/code]
<tr><td class=head colspan=2 height=27><b>µÇ¼³Ìʽ</b></td></tr>
<tr><td rowspan=7 width=3%></td>
[/code]
Ìæ»»Îª
<tr><td class=head colspan=2 height=27><b>µÇ¼³Ìʽ</b></td></tr>
<tr><td rowspan=9 width=3%></td>
¼ÌÐø²éÕÒ
<input type="password" maxLength="20" name="pwpwd" size="40" tabindex="2"></td></tr>
ÔÚºóÃæÌí¼Ó
<tr>
<td class='f_one'>ÌáÎÊ
<select name="lgquestion" tabindex="3">
<option value=0>ÎÞ°²È«ÌáÎÊ</option>
<option value=1>ϲ»¶µÄµØ·½</option>
<option value=2>×î×ð¾´µÄÈË</option>
<option value=3>×îÏëÈ¥µÄµØ·½</option>
<option value=4>Äú×îÏëÄîµÄÈËÃû×Ö</option>
<option value=5>ÄúµÄ¸öÈ˼ÆËã»úµÄÐͺÅ</option>
<option value=6>ÄúËùÔÚµÄÊ¡ÊÐ</option>
<option value=7>Éí·ÝÖ¤µÄ×îºóËÄλÊý×Ö</option>
<option value=8>Äú×îϲ»¶µÄ²Ù×÷ϵͳ</option>
</select> <b>Èç¹ûÄúÆôÓð²È«ÌáÎÊ£¬µÇ¼ʱÐèÌîÈëÏàÓ¦µÄÏîÄ¿²ÅÄܵǼ</b>
</td>
</tr>
<tr><td class='f_one'>»Ø´ð <input type="text" name="lganswer" size="25" tabindex="4"></td></tr>
×¢Ò⣺
ºóÃæµÄtabindex="4"ÐèÒªÒ»´ÎµÝÔöÐÞ¸Ä5.login.php
²éÕÒ´úÂ룺
list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd);
Ìæ»»Îª
list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd,$lgquestion,$lganswer);
6. profile.htm
²éÕÒ´úÂë
<tr height=25>
<td class=head colspan=2> »áÔ±»ù±¾Êý¾Ý </td>
</tr>
ÔÚºóÃæÌí¼Ó
<tr>
<td class='f_one'>°²È«ÌáÎÊ:</td>
<td class='f_one'><select name="regquestion">
<option value="">²»¸Ä±äµ±Ç°ÉèÖÃ</option>
<option value="0">ÎÞ°²È«ÌáÎÊ</option>
<option value="1">ϲ»¶µÄµØ·½</option>
<option value="2">×î×ð¾´µÄÈË</option>
<option value="3">×îÏëÈ¥µÄµØ·½</option>
<option value="4">Äú×îÏëÄîµÄÈËÃû×Ö</option>
<option value="5">ÄúµÄ¸öÈ˼ÆËã»úµÄÐͺÅ</option>
<option value="6">ÄúËùÔÚµÄÊ¡ÊÐ</option>
<option value="7">Éí·ÝÖ¤µÄ×îºóËÄλÊý×Ö</option>
<option value="8">Äú×îϲ»¶µÄ²Ù×÷ϵͳ</option>
</select> <b>Èç¹ûÄúÆôÓð²È«ÌáÎÊ£¬µÇ¼ʱÐèÌîÈëÏàÓ¦µÄÏîÄ¿²ÅÄܵǼ</b>
</td>
</tr>
<tr>
<td class='f_one'>»Ø´ð:</td>
<td class='f_one'><input type="text" name="reganswer" size="25"></td>
</tr>
7.profile.php
²éÕÒ´úÂë
$db->update("UPDATE pw_members SET password ='$userdb[password]',email='$userdb[email]' $groups,honor='$prohonor',publicmail='$userdb[publicmail]',icon='$userdb[icon]',gender='$userdb[gender]',signature='$userdb[signature]',introduce='$userdb[introduce]',oicq='$userdb[oicq]',icq='$userdb[icq]',yahoo='$userdb[yahoo]',msn='$userdb[msn]',site='$userdb[site]',location='$userdb[location]',bday='$userdb[bday]',style='$tpskin',datefm='$date_f',timedf='$timedf',t_num='$t_num',p_num='$p_num',receivemail='$userdb[receivemail]',signchange='$userdb[signchange]',showsign='$showsign',payemail='$payemail' WHERE uid='$winduid'");
½«ÆäÌæ»»Îª
$reganswer=trim($reganswer);
if($regquestion==''){
$db->update("UPDATE pw_members SET password ='$userdb[password]',email='$userdb[email]' $groups,honor='$prohonor',publicmail='$userdb[publicmail]',icon='$userdb[icon]',gender='$userdb[gender]',signature='$userdb[signature]',introduce='$userdb[introduce]',oicq='$userdb[oicq]',icq='$userdb[icq]',yahoo='$userdb[yahoo]',msn='$userdb[msn]',site='$userdb[site]',location='$userdb[location]',bday='$userdb[bday]',style='$tpskin',datefm='$date_f',timedf='$timedf',t_num='$t_num',p_num='$p_num',receivemail='$userdb[receivemail]',signchange='$userdb[signchange]',showsign='$showsign',payemail='$payemail' WHERE uid='$winduid'");
}elseif($regquestion == 0){
$db->update("UPDATE pw_members SET password ='$userdb[password]',safeq='0',safea='',email='$userdb[email]' $groups,honor='$prohonor',publicmail='$userdb[publicmail]',icon='$userdb[icon]',gender='$userdb[gender]',signature='$userdb[signature]',introduce='$userdb[introduce]',oicq='$userdb[oicq]',icq='$userdb[icq]',yahoo='$userdb[yahoo]',msn='$userdb[msn]',site='$userdb[site]',location='$userdb[location]',bday='$userdb[bday]',style='$tpskin',datefm='$date_f',timedf='$timedf',t_num='$t_num',p_num='$p_num',receivemail='$userdb[receivemail]',signchange='$userdb[signchange]',showsign='$showsign',payemail='$payemail' WHERE uid='$winduid'");
}elseif($reganswer==""){
showmsg("ÄãÑ¡ÔñÁ˰²È«ÎÊÌ⣬ÇëÌîд°²È«´ð°¸£¡");
}else{
$db->update("UPDATE pw_members SET password ='$userdb[password]',safeq='$regquestion',safea='$reganswer',email='$userdb[email]' $groups,honor='$prohonor',publicmail='$userdb[publicmail]',icon='$userdb[icon]',gender='$userdb[gender]',signature='$userdb[signature]',introduce='$userdb[introduce]',oicq='$userdb[oicq]',icq='$userdb[icq]',yahoo='$userdb[yahoo]',msn='$userdb[msn]',site='$userdb[site]',location='$userdb[location]',bday='$userdb[bday]',style='$tpskin',datefm='$date_f',timedf='$timedf',t_num='$t_num',p_num='$p_num',receivemail='$userdb[receivemail]',signchange='$userdb[signchange]',showsign='$showsign',payemail='$payemail' WHERE uid='$winduid'");
}
8. ÆäÓàÏà¹Ø²¿·ÖÇë²ÎÕÕÐ޸ģ¡¶àΪµÇÂ¼Ò³ÃæµÄ£¡£¡
±ÈÈçindex.htmµÄµÇ¼´°¿Ú
ÕÒµ½
ÃÜ Âë <input class=mmcinb type="password" maxLength="20" name="pwpwd" size="20" tabindex="2">
ÔÚºóÃæÌí¼Ó£º
<br>
Ìá ÎÊ
<select name="lgquestion" tabindex="3">
<option value=0>ÎÞ°²È«ÌáÎÊ</option>
<option value=1>ϲ»¶µÄµØ·½</option>
<option value=2>×î×ð¾´µÄÈË</option>
<option value=3>×îÏëÈ¥µÄµØ·½</option>
<option value=4>Äú×îÏëÄîµÄÈËÃû×Ö</option>
<option value=5>ÄúµÄ¸öÈ˼ÆËã»úµÄÐͺÅ</option>
<option value=6>ÄúËùÔÚµÄÊ¡ÊÐ</option>
<option value=7>Éí·ÝÖ¤µÄ×îºóËÄλÊý×Ö</option>
<option value=8>Äú×îϲ»¶µÄ²Ù×÷ϵͳ</option>
</select> <b>ÈçÆôÓÃÁ˰²È«ÌáÎÊ£¬ÇëÌîÈëÏàÓ¦µÄÏîÄ¿</b><br>
»Ø ´ð <input type="text" name="lganswer" size="20" tabindex="4">
<br>
showmsg.htm
ÕÒµ½
<tr class=f_one>
<td>ÃÜÂë</td><td> <input type='password' size="40" tabindex="2" name='pwpwd'></td>
</tr>
ÔÚºóÃæÌí¼Ó
<tr>
<td class='f_one'>ÌáÎÊ</td><td>
<select name="lgquestion" tabindex="3">
<option value=0>ÎÞ°²È«ÌáÎÊ</option>
<option value=1>ϲ»¶µÄµØ·½</option>
<option value=2>×î×ð¾´µÄÈË</option>
<option value=3>×îÏëÈ¥µÄµØ·½</option>
<option value=4>Äú×îÏëÄîµÄÈËÃû×Ö</option>
<option value=5>ÄúµÄ¸öÈ˼ÆËã»úµÄÐͺÅ</option>
<option value=6>ÄúËùÔÚµÄÊ¡ÊÐ</option>
<option value=7>Éí·ÝÖ¤µÄ×îºóËÄλÊý×Ö</option>
<option value=8>Äú×îϲ»¶µÄ²Ù×÷ϵͳ</option>
</select> <br><b>Èç¹ûÄúÆôÓð²È«ÌáÎÊ£¬ÇëÌîÈëÏàÓ¦µÄÏîÄ¿</b>
</td>
</tr>
<tr><td class='f_one'>»Ø´ð</td><td><input type="text" name="lganswer" size="40" tabindex="4"></td></tr>
ÐÞ¸ÄÍê±Ï£¡£¡
ÇëÏÂÔØ×îеİü£¬Êý¾Ý¿â°²×°³ÌÐò´æÔÚ´úÂë´íÎó£¬ÐÞÕý£¡ 2006.06.17
[ ´ËÌù±»greenrockÔÚ2006-11-13 14:36ÖØÐ±༠]