[discuz建站技术]
Discuz ! X 禁止会员修改注册邮箱!
[复制链接]
|
注意首先记得备份好原始文件。
) `# P, N# J- m* H$ a. {4 u9 o, g( A0 ?) I6 U2 V1 I, Q2 f) B5 j0 f7 C
以下教程也适用于Discuz ! X3.4以下版本。
7 D5 _9 i* N- r) ?7 G$ i0 V& ^4 J- j2 i* c: `
discuz默认是只要有密码就可以修改邮箱,这样当用户账号被盗之后,黑客可以修改掉用户的注册邮箱,从而实现完全的将被盗用户账号占为己有,非常不安全。6 x" |! h& x5 I& K% U
( v# N5 B% S. K2 d! c% M) g
修改文件:
$ [# N& _: @$ ]& l8 t+ utemplate\default\home\spacecp_profile.htm" i7 p2 W) i V; |, g/ X
- s* o7 e9 g" u" Q
查找
* D7 Y( d2 t( Y6 l, H% x
3 W2 e1 K/ h! g% w ?* x6 |, a- <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属性去掉,就可以正常编辑了;甚至可以直接伪造数据包发给服务器,服务器端会乖乖给你修改的。
! f7 k; n2 N& t2 f% r
. Y+ K- W2 u* ?" S8 B8 F q所以如果想彻底防止修改邮箱,还必需修改程序文件,在服务器端也做限制,具体方法:* A; x6 M* c+ _/ s% }* m8 U+ q
. q: S# L2 `% m$ G修改文件:source\include\spacecp\spacecp_profile.php% L0 r* t; M5 v- {+ J
4 Q5 ^6 b4 G9 `+ O
查找0 F8 I9 l# V% \6 B/ j' ~1 m7 t
- $emailnew = dhtmlspecialchars($_GET['emailnew']);
复制代码 替换为
" m. }: P$ B3 ]) T0 C. @$ U+ K6 K+ O
- $emailnew = $_G['member']['email'];
复制代码 保存即可!
. D8 F2 j( L" n4 R# c& a5 g& i1 d7 K5 Q9 o& K$ f; x
" B" k3 G! ?: L9 w( s( a& v3 Z
" B: V8 |2 v3 y+ ]% |3 R
8 q- s5 C% k' ^3 j3 h1 Y |
|