开启左侧

[学习借鉴] Discuz!论坛发帖自动退出登录状态的解决办法ZT

[复制链接] 1
回复
3970
查看
打印 上一主题 下一主题
楼主
跳转到指定楼层
发表于 2017-4-2 14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
表现一:所有的人都登录不了
4 l' r. a" ]6 H' U6 s0 z. _1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
0 T0 [! W) @% I& @6 H比如你用http://www.zgwxbbs.com访问,那你就设定成/ L, c  o8 D7 L  h/ K
.zgwxbbs.com 即可。
, K$ @* F; ^6 d/ g& s+ m1 J% k! T# c. f: x4 v3 O
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
8 L/ }2 P. s7 ^1 |有些人因为不小心删除了 {eval updatesession();} 而出问题
1 V; ]( r- [+ {解决方法:! r) C( E. N- R7 S# z, R- D
打开 footer.htm
( i3 f# M0 _3 X, j- i4 j查找 eval
; _, D  q$ ^& o* O看看有没有 {eval updatesession();} 和 {eval output();}
+ i6 v0 H, k* V0 V  i. T8 c: h* {$ U如果没有 {eval updatesession();}+ K/ T! r3 N+ L" Y; \1 I
请查找 <!--{if debuginfo()}-->/ H0 h3 }) w& Y3 W' ^
在上面添加 {eval updatesession();}2 ]2 _0 `# Y) H4 z8 Q
如果没有 {eval output();}
. b' B* s+ g- `,请在最后添加.<!--{eval output();}-->: q$ N" U' l1 H; o! v

  B7 @6 T& o; [2 I; f. {3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。, M3 B) K4 q2 l1 p( M4 t

1 t5 w3 i$ U( R3 ]4、防止论坛自动跳转后退出, F% {9 X3 N3 U" L3 l

/ l. @- W6 T* m% ~1 ~. F在 logging.php 中作如下修改:
/ a0 f5 k) F, X& G找到 showmessage('login_succeed', dreferer());1 E  a7 d9 w! S$ e& P% w, F& x
在它上面添加一行:
4 k8 v& Q7 b4 Qif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
, M9 N# E1 Y5 u  A1 B* y8 M5、在logging.php中作如下修改:
8 R5 D4 {7 X. V  l, m查找 showmessage('login_succeed', dreferer());3 @! K% b% ]" n# A- h  s
在它上面加 $sessionupdated=0;' r: z; \5 H1 \! D/ s$ Q

! G. h* V) o; |2 G3 l# L; _6、程序问题
& p: I: ^7 t( W
, W  }3 k  Q% [% h2 k一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。- {! l, B$ k2 s& H& s
这时候,将程序的报错打开即可发现问题。% D  U3 L* a6 e% M8 E6 f: _6 f' o
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2. T+ H, i% A6 R
做法二:打开 include/common.inc.php 找到 error_reporting(0);) W6 `4 Y6 a& G3 m- w/ H% J
修改为 error_reporting(7);
- `5 u7 r: H/ ^( {5 {1 R& Y7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
6 C! Y4 S, T+ t0 x9 |, o& [: `解决方法:修改目录名为字母或数字格式就行了.7 K/ t+ D4 S, i) h! `: H  {
0 \/ x; c3 Y6 X  `# K5 v* z
表现二:部分人登录不了(找个人原因)& X" I& b' T9 ^7 j. \# x# t5 q9 F
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
( C3 `3 k; S  F- }5 d! O( M2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;& D' D+ o! G) ^  @0 X' F
3、个人机器没有打开 cookies
7 M1 K- f+ P3 C1 |: \. E首先查询自己所使用的IE版本。
' t" t6 D# t1 \* u打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
+ z; d* g4 \5 {3 P" E9 X( d  B
9 g+ x: d! X7 L% v6 g8 U题下第一行,就是有关版本信息。一般是,5.0或6.0。( J, ~6 ^. j5 d. c. d8 m5 `5 G

& I6 Y( H* Z$ s% U5 @! i2 S: vA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
4 O+ w, h$ q2 ~3 z* h  r" }% i5 w- N& T8 U* y/ m- a: C- K5 m8 {' I
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个") [( i) h6 `+ H  |4 ~
% _8 h/ d6 ~  Q+ g) m7 Z
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:+ ]. `# |+ V% E+ ]* b. D$ F% K
# }: J: x- y5 N5 ]  y
覆盖自动cookie处理 (Override automatic cookie handling)
$ n9 S5 P8 c& a  D# h6 Q# l  N5 C- b) x/ ]
第一方cookie:接受 (First-party cookies: Accept)! k- o7 v9 D# l1 N
* n% P0 b: k0 P3 S
第三方cookie:接受 (Third-party cookies: Accept)
  |5 J4 G" ?/ W# \0 d& |7 I9 H% |  g. o, Z1 p2 n/ ]
总是允许会话cookie (Always allow session cookies)
* N2 q; M: M* u1 F# \9 L
1 `, D+ B4 X+ x3 u& M0 _点击按钮"确定"(OK),关闭cookie设置窗口
" \6 f9 e# A, |! ~7 E5 |
1 n- S, b# @( k/ o, z( c点击按钮"确定"(OK),关闭Internet 选项设置窗口
+ p# _# k1 Y; j* W% Q& ~* c  @' C1 r& ]+ ?: b

2 c3 P+ y& X* k9 w* v4 T  E$ }B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
/ B1 O- @/ C9 y- F4 K; \) _: O, y. P) F5 a9 v
点击菜单条上的"工具"(Tool)* w7 {$ d& M: K
3 B* F+ b, R3 ^1 S3 G3 a
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
) R/ t# f3 V/ }0 ^. B8 c5 Y& j+ v$ x8 l* w: e
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。: |8 V0 m6 Y" d+ z
0 E+ o& ?) R% V% w" _
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)* k, V: \6 c. ?' e7 I$ D* X) E% S

. @" }2 ^: H) h4 D( c& C4 c在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
4 x: M/ N  t3 l' u9 r
  ]: U+ `: _7 X% `! g7 }  c允许使用存储在您计算机上的cookie:启用
% w/ w) v+ J/ `: Q$ z9 C6 _' H/ i5 f/ [% `' k
允许使用每个对话cookie(未存储):启用
4 s+ e/ V, i5 J: C' }. s0 E8 j- ~; y3 J) D- U# F

: J9 l1 `9 k, W+ T4 |点击按钮"确定"(OK),关闭安全设置窗口8 j0 G$ _, k1 U( S5 D) I' a) T3 d1 _

% o- h* V/ D+ t5 [& l点击按钮"确定"(OK),关闭Internet 选项设置窗口/ v9 i: \3 Q! C' g
* x" d1 }5 l' X- m3 I

0 V4 ]3 I' K+ |; T6 J/ i6 G" B表现三:后台提示登录成功但是始终跳回登录口
: f; j6 |+ ~* D% X! {0 ?1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的5 _# `* Z% u  K+ r5 E+ B
) V; d5 o% T% ]8 ^5 ?9 w+ w
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0  N0 ?  S. s# ^+ i  ?
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
2 v" A; n; q% C$ @* [$ @' }) w& R2 O8 r/ L7 `8 e" b
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
4 I- Y6 q- _# C4 V8 x解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
& o8 z7 Q3 R, ?" a9 W/ I# H7 s  ~然后到后台的数据库校验,校验后修复一下其他表即可.
% X+ ~! ^' U/ i嗯,不错表现一:所有的人都登录不了
. S0 N8 s. X  a; P: G7 v! G1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,( A' u/ L. o/ T: ?" S
比如你用http://www.zgwxbbs.com访问,那你就设定成" C& P! O5 X/ X# w6 w2 b
.zgwxbbs.com 即可。
/ J" T4 I2 m: C+ z- Y( ^' ]
) q0 P8 l0 o- C& R& D# k' M2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)  W; S9 Q$ P& F% d; b
有些人因为不小心删除了 {eval updatesession();} 而出问题: X. t4 w3 s0 f( L1 r
解决方法:6 [  e; g% ?: j9 W& q" U$ h/ w
打开 footer.htm. _, ?6 ?+ f- B1 X
查找 eval
) |$ P3 z, B2 p看看有没有 {eval updatesession();} 和 {eval output();}8 x9 C+ d) s; o& i) u" z8 O
如果没有 {eval updatesession();}: n8 \8 d: O+ G# [# j3 V5 q* Z
请查找 <!--{if debuginfo()}-->
6 W8 l8 ~: d8 O4 J4 |% Y( O在上面添加 {eval updatesession();}" a7 X8 ~: g4 I# i
如果没有 {eval output();}0 |1 ?& I. v( J3 t
,请在最后添加.
0 k/ d% r" s9 V( ]5 u: D. }
+ Y0 W0 n  X8 t3 u; k% f3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。8 I. _3 b4 D2 q: k+ y

& z' d- ?" X( C9 ?# I$ G2 N9 d* o$ I4、防止论坛自动跳转后退出' k7 y1 f4 q% k9 T
# _. J! r. B3 w0 }  l4 E8 C
在 logging.php 中作如下修改:6 u3 L/ E2 m. u- b9 R& }8 m
找到 showmessage('login_succeed', dreferer());
- t. E; i1 I# H6 h. W% ~在它上面添加一行:" v" [& _. i% V7 j
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';4 i6 l; R% {, w" G1 {3 ~
5、在logging.php中作如下修改:9 P* z' g- r. d9 Y/ x
查找 showmessage('login_succeed', dreferer());/ X( L' b3 F; X& e
在它上面加 $sessionupdated=0;4 k" J: k& f( l& @! v; v

) Q: V: T. t: M6、程序问题
( e9 X7 S( j! ?' O
, |+ b& G8 i5 c4 ]5 l# O一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。1 W1 k" q/ Q' Y6 d2 ?8 T. b
这时候,将程序的报错打开即可发现问题。) z4 d0 D/ z3 P& p0 N- {
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
8 Y3 j- L% _$ Q/ W- x6 y! R( U/ e  J做法二:打开 include/common.inc.php 找到 error_reporting(0);( A) e4 J! p4 g6 H5 g
修改为 error_reporting(7);7 j7 i3 U8 J' N* u5 e
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.7 q2 G8 r3 W& ~; k# H/ G, u
解决方法:修改目录名为字母或数字格式就行了.
3 |7 y8 C* B5 ]- V, T; R+ Q. D% G% [1 Q" J) ^
表现二:部分人登录不了(找个人原因)/ L7 }- U3 m# T
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
+ ~3 ]' T0 K9 A1 [2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;7 `5 X4 |; ~5 w) l* S/ B
3、个人机器没有打开 cookies5 `: T: x8 a) v: s2 E, H/ k
首先查询自己所使用的IE版本。1 F7 e/ R3 Z9 j6 m* w, ^) O
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标% s3 r& a, t/ p) B
2 n) h% A% i( ^3 M3 `5 X% e" v8 M
题下第一行,就是有关版本信息。一般是,5.0或6.0。
# e0 X3 d# O5 D
/ w4 R! i" e% Y" }9 T5 D4 @/ s6 ?7 YA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:7 c* n( Q7 ^7 T4 z
7 l+ V+ S# w2 M/ X
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"/ A( P2 ^3 H: Y+ M8 _6 y% ^

$ G1 j: i5 N. Z, U: A2 R隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:" \' O: y' ^: P" R
7 W3 N' F2 T! h' ^6 k
覆盖自动cookie处理 (Override automatic cookie handling)7 J) e! p; G- ~2 @$ t0 m6 V8 I

& t7 w. j  }3 X9 l  J) {第一方cookie:接受 (First-party cookies: Accept)% a* u% g) U. a6 }) R+ [
- A9 I% Z( h6 d, q6 R- U; V
第三方cookie:接受 (Third-party cookies: Accept)
1 ]2 Q5 ^. F$ h1 G6 O5 N0 |" e0 j; E5 d1 D  u
总是允许会话cookie (Always allow session cookies)2 h& d; S( \7 j& v  {

* ]: N0 l! G" r$ K% d. U, Z4 I点击按钮"确定"(OK),关闭cookie设置窗口
, b; o6 b  Q+ \7 p: @5 _9 v
* D6 p& q6 ]! Y5 V6 @8 Y" g点击按钮"确定"(OK),关闭Internet 选项设置窗口
1 [) I6 ^5 b( S( }0 e* G: ?* r  ^  C( E( ?) v, H. s9 u
* f7 ], J* L+ J+ p
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:; p7 K$ a' w( _

* `2 x+ _( |& N0 g. l9 S3 o点击菜单条上的"工具"(Tool)5 w5 q+ G% E6 P' E0 n7 H- U
* P) V! c* ?& v/ J* \
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)' H( Q& K  z% ~5 o6 e" B( ]

0 ?3 C) K9 g9 d; J+ h: V在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
! |- a$ P; j; b+ Y, O1 a, v/ c" A7 N7 Y) |. p
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)0 c0 A- G0 P6 P, l) u' L) r9 l  m
  M( t6 v' H6 }( P
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:8 H/ s& [3 G) k" ~% Z1 E
  A4 x9 [- i& _3 D. M6 h9 }; M
允许使用存储在您计算机上的cookie:启用
" r; F( ]9 `% t8 R& M0 D, R8 k7 H8 b/ V2 A, U/ {) ]- C
允许使用每个对话cookie(未存储):启用2 D' K) n) G- o+ M& ?

6 T" R6 f# E0 ]! @$ T* c! E3 ?% \+ t+ ]; a. K+ v3 j
点击按钮"确定"(OK),关闭安全设置窗口
2 K8 |# M% m( ]1 K! h5 Z. l9 l+ j1 s% S+ ^
点击按钮"确定"(OK),关闭Internet 选项设置窗口9 |' g1 P/ |) l2 z
* m- R% `$ Q3 z1 w" A( R( S

% U( q% ^, {# @; q# R. ^, v" N# e表现三:后台提示登录成功但是始终跳回登录口/ x/ ~. A1 d& C: ^, S7 g% m
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
. Q8 f; P; W' j. W. s9 V& e
' K8 [' T- C7 u9 Y/ m解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
$ P. z, b) ^% L1 M& F解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
& @3 q/ J- A0 t+ f7 r7 Q0 t! q0 O6 ]
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
7 W/ g! f7 [$ I& D! v' U& |& C解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。; m" i) M) s5 l0 P4 `
然后到后台的数据库校验,校验后修复一下其他表即可." d* F0 B/ `' C) x( |  a3 Z
# Y7 L$ L$ J# |" p1 [+ c


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者
- Z. D) t' u3 m, z' O- |
discuz设置允许版主生成文章/发布文章的方法
: b0 M7 ~( R' @& n# a7 ?# H# l$ g5 C  z+ @+ l, }
管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是9 Q0 p, |* I& M. E" c0 u
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
0 \: z9 w  Z/ M2 @! k4 M' O% z/ m% \6 T* G9 d
管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是
. R  v7 g" [0 e: g7 J, }设置完,更新缓存。3 U1 U- w0 T3 q, ^
这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。- v- w' ?2 N* p9 e; A; u- R
5 x% }: |, ]: P( N; i, O

0 Q/ o  n6 h/ ^' }4 y( j+ u如果不想自动转化为HTML, 第二步就不用设置。
& S* G7 @1 b5 q4 |$ J! G
$ Q1 N3 o& r/ V  [7 r
$ a/ H0 s  z# H& L$ N- z问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表