默认只要有密码就可以修改邮箱,很不安全。

修改文件:

template\default\home\spacecp_profile.htm

查找

<input type="text" name="emailnew" id="emailnew" value="$space[email]" class="px" />

复制代码

替换成

<input type="text" name="emailnew" id="emailnew" value="$space[email]" disabled />

复制代码

这样修改之后,发现修改邮箱的编辑框就不可用了,无法修改邮箱。

但是这样真的够了么?

这个方法只是从前端屏蔽往编辑框输入邮箱,但是我们完全可以用firebug之类工具修改编辑框的属性 ,把disabled属性去掉,就可以正常编辑了;甚至可以直接伪造数据包发给服务器,服务器端会乖乖给你修改的。

所以如果想彻底防止修改邮箱,必需在服务器端也做限制,具体方法:

修改文件:source\include\spacecp\spacecp_profile.php

查找

$emailnew = dhtmlspecialchars($_GET['emailnew']);

复制代码

替换为:

$emailnew = $_G['member']['email'];

复制代码

注意记得备份好原始文件。

本文转自Discuz 论坛。