⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 安全问题.txt

📁 pw论坛的增强安全性程序
💻 TXT
字号:
安全问题

1.register.php
查找
[code]
foreach($S_key as $value){
		if (strpos($regname,$value)!==false){ 
			Showmsg('illegal_username'); 
		}
		if (strpos($regpwd,$value)!==false){ 
			Showmsg('illegal_password'); 
		}
	}
[/code]
在后面添加
[code]
if($regquestion != 0  && trim($reganswer)==""){
		showmsg("您选择了安全问题,答案不能为空!");
	}
[/code]
继续查找
[code]
$rg_sign	  =	Char_cv($regsign);
[/code]
在后面添加
[code]
$rg_answer    = trim($reganswer);
[/code]
继续查找
[code]
$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')");
[/code]
替换为
[code]
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')");
	}
[/code]

2. register.htm
查找
[code]
<!--
EOT;
if($rg_emailcheck){print <<<EOT
-->
<font color=red>帐号需要EMAIL激活,请如实填写</font>
<!--
EOT;
}print <<<EOT
-->
</td></tr>
[/code]
在后面添加
[code]
<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> &nbsp;<b>如果您启用安全提问,登录时需填入相应的项目才能登录</b>
</td>
</tr>

<tr>
<td class='f_one'>回答:</td>
<td class='f_one'><input type="text" name="reganswer" size="25"></td>
</tr>
[/code]

3. require/checkpass.php
查找代码
[code]
function checkpass($username,$password,$sq,$sa){
[/code]
将其替换为
[code]
function checkpass($username,$password,$sq,$sa){
[/code]
继续查找代码
[code]
$men_pwd=$men['password'];
[/code]
在后面添加
[code]
$men_sq =$men['safeq'];
$men_sa =$men['safea'];
[/code]
继续查找代码
[code]
$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'");
[/code]
替换为
[code]
$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'");
[/code]
继续查找代码
[code]
if(strlen($men_pwd)==16){
				$check_pwd=substr($password,8,16);/*支持 16 位 md5截取密码*/
			}
[/code]
在后面添加
[code]
if($men_sq!='0'){
				if($sq = 0){
					showmsg("您已经设置了安全问题,请返回!");
				}elseif($sq!=$men_sq || trim($sa)!=$men_sa){
					showmsg("您选择的安全问题或答案与您设置的不符!");
				}
			}elseif($men_sq=='0' && $sq != 0){
				showmsg("您没有设置安全问题,请返回!");
			}
[/code]

4.login.htm
查找代码
[/code]
<tr><td class=head colspan=2 height=27><b>登录程式</b></td></tr>
<tr><td rowspan=7 width=3%></td>
[/code]
替换为
[code]
<tr><td class=head colspan=2 height=27><b>登录程式</b></td></tr>
<tr><td rowspan=9 width=3%></td>
[/code]
继续查找
[code]
<tr>
<td class='f_one'>提问  &nbsp; &nbsp; 
<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> &nbsp;<b>如果您启用安全提问,登录时需填入相应的项目才能登录</b>
</td>
</tr>

<tr><td class='f_one'>回答  &nbsp; &nbsp; <input type="text" name="lganswer" size="25" tabindex="4"></td></tr>
[/code]
注意:[color=red]后面的tabindex="4"需要一次递增修改[/color]

5.login.php
查找代码:
[code]
list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd);
[/code]
替换为
[code]
list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd,$lgquestion,$lganswer);
[/code]
6. profile.htm
   查找代码
   [code]
   <tr height=25>
<td class=head colspan=2> 会员基本数据 </td>
</tr>
[/code]
在后面添加
[code]
<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> &nbsp;<b>如果您启用安全提问,登录时需填入相应的项目才能登录</b>
</td>
</tr>

<tr>
<td class='f_one'>回答:</td>
<td class='f_one'><input type="text" name="reganswer" size="25"></td>
</tr>
[/code]

7.profile.php
查找代码
[code]
$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'");
[/code]
将其替换为
[code]
$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'");
		}
[/code]

8. 其余相关部分请参照修改!多为登录页面的!!
比如index.htm的登录窗口
找到
[code]
 密&nbsp;&nbsp;&nbsp;码 <input class=mmcinb type="password" maxLength="20" name="pwpwd" size="20" tabindex="2">
 [/code]
 在后面添加:
 [code]
<br>
		提&nbsp;&nbsp;&nbsp;问 
		<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> &nbsp;<b>如启用了安全提问,请填入相应的项目</b><br>
		回&nbsp;&nbsp;&nbsp;答 <input type="text" name="lganswer" size="20" tabindex="4">
		<br>
[/code]
showmsg.htm
找到
[code]
<tr class=f_one>
	<td>密码</td><td> <input type='password' size="40" tabindex="2" name='pwpwd'></td>
</tr>
[/code]
在后面添加
[code]
<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>
[/code]

修改完毕!!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -