北美网备份站

标题: Discuz!论坛发帖自动退出登录状态的解决办法ZT [打印本页]

作者: 北美生活网    时间: 2017-4-2 14:19
标题: Discuz!论坛发帖自动退出登录状态的解决办法ZT
表现一:所有的人都登录不了  x6 e: e) c; J. }
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
* u! j8 t  M4 r; ^: q) S9 S; O  Z; B比如你用http://www.zgwxbbs.com访问,那你就设定成
2 b! J- D" K- u% ^2 R/ ?.zgwxbbs.com 即可。6 }6 Z+ Y* o5 H* G" u3 I
! U- m4 G+ s+ P' G
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
  V$ j; z6 F2 R9 g2 u  o有些人因为不小心删除了 {eval updatesession();} 而出问题
# n* ^! d; x$ ~解决方法:9 [5 R/ c) s( }5 r0 \  u
打开 footer.htm
1 t- N& v* M' D( o6 d! ], }6 S; I查找 eval; W: j4 j5 K( h6 N/ @- E* _5 K
看看有没有 {eval updatesession();} 和 {eval output();}/ Q/ C; V9 j$ o4 \1 y+ G7 y
如果没有 {eval updatesession();}
2 d# [/ ?, u; o) r" p6 _) Z2 n请查找 <!--{if debuginfo()}-->' R% P! n2 P0 a0 r, [, D9 ]
在上面添加 {eval updatesession();}7 [3 ?- G7 K1 `# f1 c
如果没有 {eval output();}
2 k8 s) E$ M& I# s) h9 o( a; E4 z,请在最后添加.<!--{eval output();}-->3 o! U+ s, q& U7 P. N6 a. B
/ z0 u5 ]8 h: M4 H- C/ _% R' g
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
7 a# l, {. V- n4 H, r, |# T+ K& V8 u
4、防止论坛自动跳转后退出
0 J6 d0 z' V3 K6 I
& {% H3 q1 H# t在 logging.php 中作如下修改:
8 A8 y# e& X# j- m: D$ j  i找到 showmessage('login_succeed', dreferer());. X/ D3 K; L" X" `. m$ O% w
在它上面添加一行:4 S6 v9 @% d- n4 Q9 E4 b; p
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';% y$ o8 o' E* O9 m, n8 O" `
5、在logging.php中作如下修改:
" t/ p$ `& L1 K. J+ g! h" h查找 showmessage('login_succeed', dreferer());' ~% U; @5 W$ j6 ?( n
在它上面加 $sessionupdated=0;& {+ t0 k. ?# ?0 S
, A% s, [$ V" N2 F$ v2 H3 X
6、程序问题
) e4 q0 K) a1 B5 p) _4 X0 W% D; `
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。1 _6 K+ k3 e, q
这时候,将程序的报错打开即可发现问题。- w. i0 j$ w8 J4 u0 H
做法一:将 config.inc.php 中的 $errorreport 的值设置为 22 u$ T+ [+ J2 i% W& y
做法二:打开 include/common.inc.php 找到 error_reporting(0);8 S$ h2 w3 Z% ?& z! M, x
修改为 error_reporting(7);
: J, y& X  V& T7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.: A1 S2 d2 R6 V) l
解决方法:修改目录名为字母或数字格式就行了.
" U; |1 O3 e$ @  r+ U8 b' y) s" b3 l3 _( q6 w9 x4 X
表现二:部分人登录不了(找个人原因)
' M+ J- X0 W- M8 c- e) m1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
. L) w3 @$ R7 a# [/ c0 n2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
( ]9 x+ h; E2 R  @# O) h* g2 x3、个人机器没有打开 cookies! A6 E& {+ {% K+ v# d! p2 N
首先查询自己所使用的IE版本。
, d  e6 ~' M- O$ _7 _/ n% {8 k/ I1 J3 l打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
% w9 K: N# v0 ]! P; D; i: y! ?$ a; H/ V' _/ X8 k" ~/ z& l
题下第一行,就是有关版本信息。一般是,5.0或6.0。5 k! x; S- F) P5 D6 v
# Q* E1 t( @# M9 v
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
) j1 Q9 @% r4 ]  u) ?1 R* D( f  q
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
+ T' W, v" r- z1 V; \- z1 S
0 _" a6 R0 v2 n! m隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
2 q1 P7 [* D" @
  F' w& v! h) D5 Y覆盖自动cookie处理 (Override automatic cookie handling): z7 y) i  R  ?6 t, T8 k
8 c& U( X7 \, t2 d
第一方cookie:接受 (First-party cookies: Accept)" c/ B; X% }% ]9 F

2 F- ]4 I! p" c4 K3 y8 Q0 [+ V第三方cookie:接受 (Third-party cookies: Accept)
, |1 x) {, i9 e( W1 v$ n5 X  _3 |4 Y5 E
3 B% z& ?+ {. S+ A+ w* X  a总是允许会话cookie (Always allow session cookies)
, r; @, l  E' b+ h
9 C' F% H. x1 f8 d* u5 @点击按钮"确定"(OK),关闭cookie设置窗口
3 M& v2 p* g3 Q9 E2 l
' ^) R4 I+ E2 `! y9 C点击按钮"确定"(OK),关闭Internet 选项设置窗口
: @+ i; O1 ?! X1 R) f& K  r. l9 S5 r2 C' c8 f! f; Y
8 b) _  B* B% ~) D. [
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
7 F' i9 R) g1 x' R8 e% B+ e
1 S( I( f5 Z/ }# z点击菜单条上的"工具"(Tool)
* S7 G& B+ \# S! `/ T. }: @  m/ c3 P% }
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
5 A" N  c8 z5 F/ y) y) e7 l
& I1 B* e0 _% r在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
/ z& y: b9 E7 q( ~: ^! |- o5 w. D' P+ I
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)8 {  k! m6 _$ v4 r9 U

( {. \! Z1 ^+ T# e/ F! z在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:  `2 ]( p, |5 H
. {5 u" X4 v$ {' S
允许使用存储在您计算机上的cookie:启用# Y$ k9 ]* X& E- c
6 }" \# k. V- m/ e7 }% e& X
允许使用每个对话cookie(未存储):启用, J+ \7 c4 [& m$ X1 n, n8 S

/ z' K+ {$ N+ B- K% A+ X, A% G; f0 B  ]2 t+ X& l( V( N
点击按钮"确定"(OK),关闭安全设置窗口! E" M3 j1 k) ~

$ v- U6 l) f  M5 F点击按钮"确定"(OK),关闭Internet 选项设置窗口  X5 A0 l+ y, l2 P
- ?) j' b0 a3 E* h$ x7 K

1 p4 z6 X' a; U" ?% L1 {/ g" z表现三:后台提示登录成功但是始终跳回登录口* y% q0 u0 p' U# e; o
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
3 L6 }+ v2 B# m+ Y
  U0 D. [& Y! ^  H6 h解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0! m6 c2 \' q8 s7 D  P* j* [  B
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。) i- {. O9 w; ?# W9 g2 H8 S* {
9 n% p. e2 g/ z* V& @
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。% F3 g9 A& ~$ y" Y
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。' u- w6 g" Z1 J! |- ^- v1 P
然后到后台的数据库校验,校验后修复一下其他表即可.
& s' _6 D( N# L嗯,不错表现一:所有的人都登录不了
5 O# E, a  @7 d8 W, D1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,6 w) g  X. T/ w; [3 c
比如你用http://www.zgwxbbs.com访问,那你就设定成
) N& L4 S2 \" i6 D& ]/ h+ s.zgwxbbs.com 即可。
/ \4 v. t$ C  c# |9 P8 \8 c' L, Y/ A, n5 [, [# c
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)) h/ u+ I; o, v
有些人因为不小心删除了 {eval updatesession();} 而出问题$ C' @+ @/ h* O, N
解决方法:+ M8 [' ~' ]% S! c" Q- d
打开 footer.htm; R  h: a3 W) r
查找 eval/ C: v& E! q0 [( e
看看有没有 {eval updatesession();} 和 {eval output();}- J1 E8 Z5 c4 k1 R, K. p/ ~3 f% z" v! d
如果没有 {eval updatesession();}
5 X+ b+ ^! I4 w& H2 {+ V5 c. V' i请查找 <!--{if debuginfo()}--># h1 h5 a% h. E( b
在上面添加 {eval updatesession();}7 `; V0 |- y& V# b+ N: t3 i
如果没有 {eval output();}
5 X# @' D8 ], f$ H1 o& A,请在最后添加.
  r$ O( v# L+ s1 s7 P, e
; \& E$ H6 o7 E3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。, ~  t1 r* v" \- f' x/ v
, }' X: l$ D( _0 F3 m3 W
4、防止论坛自动跳转后退出
: t: ]' m" A6 X2 A6 f$ S1 X) _; }, @* |. L# V
在 logging.php 中作如下修改:8 W/ t" [: K* c, [2 a2 L% R( K
找到 showmessage('login_succeed', dreferer());
: d- k- D% y* Y2 O7 C  l' ]0 o在它上面添加一行:" Z$ Q3 X$ R' i
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';, o! _3 f0 d9 U! D1 \+ ~
5、在logging.php中作如下修改:
$ r; Q" k" \3 N- R+ l% l9 K查找 showmessage('login_succeed', dreferer());
3 w1 H! f8 Y, @" _; ~在它上面加 $sessionupdated=0;
, t1 j! ]7 k. P0 Q+ @- D! s5 d* \9 r# A2 G3 o# d9 @
6、程序问题
* i6 h4 U0 _8 V( P7 \+ m; |
* R* i* Z1 K, _' `一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
+ x& h* J: }4 `$ H+ \这时候,将程序的报错打开即可发现问题。. }5 N1 i* Y4 J. t4 G
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
& {% G% k" U$ t: n' h+ G( R4 L做法二:打开 include/common.inc.php 找到 error_reporting(0);" |- M' ^# u+ w: }0 O- F6 S4 u4 c
修改为 error_reporting(7);5 x0 B# ^1 b# [5 d9 T, z+ f
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.( t4 L0 M2 O) u% w1 b
解决方法:修改目录名为字母或数字格式就行了., s9 B8 s1 I3 z2 y5 x# n

3 ]/ J+ G8 }5 ?表现二:部分人登录不了(找个人原因)3 L. A1 }) M4 X' B% s$ t
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
5 X" e: ^4 j( l6 E  ~2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
9 w1 L6 r/ C" L; D% W4 X3、个人机器没有打开 cookies7 N! g. A" `- b0 y
首先查询自己所使用的IE版本。; }# d- C. N1 B+ Z4 X) V' d  n7 |' E2 G
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
" h  k  Q2 S. Y/ |  o9 S# |5 T& P. w; m: k8 O+ N0 s# i
题下第一行,就是有关版本信息。一般是,5.0或6.0。
8 P9 i, [9 _: d$ @7 D. D  f# V9 ]" @5 O
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
3 H6 n$ _0 Y1 q4 |) W
1 r; I$ t; x5 B(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
/ J7 C/ N! \- R
0 [* l6 d- v  l: S6 E3 a. Q* U; s隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
* l4 v: a& J  f! [  O$ P& W/ b3 G/ k8 l/ {0 h! j5 {
覆盖自动cookie处理 (Override automatic cookie handling)
% J' ~2 j; t- v: r- A
1 m9 j: r, f- G( L" N第一方cookie:接受 (First-party cookies: Accept)/ B* v; H, V' `! `* |; q8 {

- `) c1 R, a' v; Z8 I第三方cookie:接受 (Third-party cookies: Accept)
1 r1 @3 Z0 X' z( i9 R/ t5 [0 R5 K, l8 k2 L- G
总是允许会话cookie (Always allow session cookies)* A. H& S0 \) U! L# P
! k& _' @" L& v+ ~
点击按钮"确定"(OK),关闭cookie设置窗口
# a: e8 Z7 @  K4 T$ ^
) D5 S$ S. R) L' W  o/ _点击按钮"确定"(OK),关闭Internet 选项设置窗口, i% e% P+ i4 S6 ^- a2 Y
, B& B$ q; X0 p9 ?$ H
: i+ j- W- v; T$ D7 c1 U
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:4 v' E9 t, u, B' `
8 `8 K6 c, _- ]! J
点击菜单条上的"工具"(Tool)
0 B9 U9 {$ x6 D( ~2 I9 |
, s; E7 n- o' {: Y6 |9 L9 m- ]+ m在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)# f( V- [! ?0 T+ Z, l. \

) f! c4 a0 M. E* g" r* l/ q在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
3 q  m5 \0 ^  y/ H5 t
& B4 x) J5 u6 X$ W在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized); Y$ a  {. g1 m& g
2 ]! w6 `; d( k$ z8 U
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
' ^, H( F/ ]& ^+ {8 f! n- E% K1 P% `+ U! D" h+ R
允许使用存储在您计算机上的cookie:启用
6 Q5 t: @: y" N# @  @, \  S) Q! ^& _  R* X) {; E  `
允许使用每个对话cookie(未存储):启用
5 v& u: D- v) u$ ]* _. b7 B( K
5 b6 q: f" S* Y
1 d1 C5 u8 r5 y4 _点击按钮"确定"(OK),关闭安全设置窗口
1 r- x1 P0 b- ]+ L. k
  Z: ^0 F$ [; h点击按钮"确定"(OK),关闭Internet 选项设置窗口
& ~4 F6 ~8 T+ P  i4 c
# i. P0 G$ Y5 @
" z5 E+ r9 m+ Y8 ^- ^7 M表现三:后台提示登录成功但是始终跳回登录口3 \* {$ ~, Q6 w" s
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
7 f* J  l& k: X; |& y
; m; C8 m4 K; G+ }+ e解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 08 E9 K/ I& w1 _, ?: P
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
7 ~* A; D" O8 U4 h
% w4 S3 K8 F' Y1 T* c- {! n8 A2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
' t: b! f& ]" [, _  r解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
/ Q- D0 [  G$ X; \7 ?然后到后台的数据库校验,校验后修复一下其他表即可.8 n4 E( T$ y/ H0 o; g

4 g# l- z# M2 J
作者: 北美生活网    时间: 2017-4-2 14:22
; t" j! M. F* U# H
discuz设置允许版主生成文章/发布文章的方法
8 N/ D% h9 y( h# K: c
1 V5 J) v- S7 O7 u" j5 v管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是
: U7 I1 q; b: U) F! A以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。! c8 z. t( {/ {; `3 u6 @6 O# y; r

' T& f! N1 O: Q管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是. p- w5 M& C. Y9 x/ [. c3 x8 ^
设置完,更新缓存。. v' j6 y. r! l
这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。
* ?  v( J3 V9 D: h, Q, L5 N3 I
9 @) B/ P  ~7 N" O, L, w1 @/ N. y# o' L0 x
如果不想自动转化为HTML, 第二步就不用设置。
( E9 i7 h8 e5 ?0 f8 {) r
2 b6 }. `- ]: t2 X0 @
) t% a4 n: `, }5 a3 P: _问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)




欢迎光临 北美网备份站 (http://beimeilife.duckdns.org/) Powered by Discuz! X3.2