开启左侧

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

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

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

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

x
表现一:所有的人都登录不了
' J7 y' ?5 _" {. z* H: {+ s1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,, i0 S! M( W, f
比如你用http://www.zgwxbbs.com访问,那你就设定成
) T9 K1 @' E2 N.zgwxbbs.com 即可。
$ e4 g& R5 c1 n$ r$ z7 |( R( E( ]+ F6 a) O; C# _0 `
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
. m# N* O% a7 Z7 n" E7 B, A( f有些人因为不小心删除了 {eval updatesession();} 而出问题
7 E$ }. j# N! V7 V! H. W9 V5 ~7 n解决方法:
; G* D. P7 V9 X4 A4 l# ?9 G; f打开 footer.htm* d" ]4 Z: E+ _" y" |5 Q" x$ G
查找 eval" _  ~6 p: H0 B6 c, t
看看有没有 {eval updatesession();} 和 {eval output();}  u  O% {4 |! r/ {8 @9 \
如果没有 {eval updatesession();}
3 k' o( T. [2 H请查找 <!--{if debuginfo()}-->
, M  M1 y( x% {: L# c0 j+ _在上面添加 {eval updatesession();}
7 L6 L% a4 v/ }( q  u. C0 {# l9 x) n如果没有 {eval output();}
  ]8 g  P3 n+ N- g,请在最后添加.<!--{eval output();}-->
, A: f0 _  M5 G0 }
& ^! j* g; @$ q5 e6 |' z" C3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
" h( o( N, I, L/ w2 k8 `2 \/ k  X% Z" N6 j7 P  r4 Y1 b' x
4、防止论坛自动跳转后退出
0 C2 I, h8 g# C7 p, o% m8 y
- \3 x0 H2 `/ k, L1 z- j在 logging.php 中作如下修改:
: W- O* J5 J% z找到 showmessage('login_succeed', dreferer());
6 B/ X) R) L) S5 v" I$ L& L在它上面添加一行:
% |( n; B% U* u& ]0 Gif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
* e2 D& k; x& J! U5、在logging.php中作如下修改:" L. E; ?7 W$ T! c# o- y  h$ J
查找 showmessage('login_succeed', dreferer());: e' y( j  |2 K
在它上面加 $sessionupdated=0;! r% t% k( o9 p

; Y, s; R# D' O2 ^" K6、程序问题
) E5 B0 G1 \; _7 ~* J2 c5 Z: S
, `1 s0 m+ u* i  z8 o一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。8 b% W0 G" M7 l
这时候,将程序的报错打开即可发现问题。- C9 F. L4 c# Z+ K
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
* K6 U$ N0 J4 P% a: ?7 S) S+ }0 v做法二:打开 include/common.inc.php 找到 error_reporting(0);
: i  I, i9 q5 m9 r; a  t修改为 error_reporting(7);4 v0 B) O' E/ S
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
, K3 I( @7 d* i3 K解决方法:修改目录名为字母或数字格式就行了.
' f7 l8 b4 [5 z' L- g4 ?+ h" j3 F8 n5 V$ Q) Y8 N
表现二:部分人登录不了(找个人原因)
8 Q4 G+ e1 T, ~" |0 L3 C: L. B1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决." a$ Z/ f: _  S# R# J
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
' @0 z& M. |/ x3 ]1 ^0 j# a( z3、个人机器没有打开 cookies
; l2 f% y8 I3 k4 p首先查询自己所使用的IE版本。
0 w3 r' x2 Y# b1 b6 A打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
3 H; U( [6 [0 r1 x2 e# w% _- N
# b  K9 g  D% s3 Y) c5 R, c题下第一行,就是有关版本信息。一般是,5.0或6.0。
1 O4 @4 @3 n. b2 F
) Q! c, `) z( n3 F: C9 w. eA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
$ P, Z+ R$ Q7 j" Y) Z" Y, e
5 o' f1 P' V% ^2 V(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
2 G+ I9 {5 z; A1 A5 D* [- @# w
! w1 P5 t3 {$ P0 M# x隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:1 v( v; F/ f, c. R# [

1 U! C( C, v( ]# H+ w覆盖自动cookie处理 (Override automatic cookie handling)- ?) g5 Y+ {: W8 d

" N8 O! }* a' H& @  D第一方cookie:接受 (First-party cookies: Accept)
  h2 m& K. G3 g; f
3 T" S* X; q2 l% ~7 h& b第三方cookie:接受 (Third-party cookies: Accept)
* X; T1 }. i! K: ?, k/ N+ w
; z0 Y+ {2 U- k2 ^4 x总是允许会话cookie (Always allow session cookies)
' l/ [* T+ T% B, u- Q7 h5 e" Q5 a2 G5 L5 F( L& C
点击按钮"确定"(OK),关闭cookie设置窗口
: C1 Y: p' T+ e: X9 ?+ P* R# [8 t
1 C& H; p8 g2 x& \" _! _/ N点击按钮"确定"(OK),关闭Internet 选项设置窗口  U& _! }$ w% R1 h) w. G" q: |
9 }+ V! U4 Q2 Q  d; `+ g; P8 ^

  Q1 G4 L$ R6 \6 [B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:/ c3 h8 J2 h( F/ |( H

2 L6 s/ ]& y" M6 E) j点击菜单条上的"工具"(Tool), j' t3 x4 s- l: D2 l

2 {5 u$ F( h# v+ [4 _1 |& q2 B) P在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
& \1 k, E: ?! p* W/ q. F0 H' U  Q; b4 c2 U: r0 S# n+ E
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
. S8 o0 f' p- {4 Y- P; ~; I2 i8 [. [. `/ e/ P7 l! ?
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
" f7 N* F4 w6 i
  f/ {0 J+ y5 E. }7 [% w0 q在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
2 v* O. p* j8 L  }' a! _% K
+ C& k5 h3 j: S7 ]0 z9 q允许使用存储在您计算机上的cookie:启用4 F) j9 z7 }' e3 t7 V( W5 b
. p& W  d! X% T% K* r
允许使用每个对话cookie(未存储):启用
4 @) J0 N  f+ Y+ Z. O0 A! T/ p5 W1 t& \- F4 x$ T9 E# P! |

3 g7 [4 U# D' H! r% H3 c% [点击按钮"确定"(OK),关闭安全设置窗口4 s8 g4 s# ~$ }  o7 `: k

7 R) D  t% S7 Y" j2 t点击按钮"确定"(OK),关闭Internet 选项设置窗口
! q; u3 f: \% B, d) _! @
; m0 ]2 a/ c% D3 ^4 V7 n. w
4 V2 Q+ b7 J7 G6 `) @. R% t# W表现三:后台提示登录成功但是始终跳回登录口6 [7 Q% x2 I- u' F1 W" V$ t  I1 T. x
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的+ v7 v8 Z& |3 W; I& e# k' O" I, E

9 {; _' X7 z% j0 B解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
3 B9 B% W$ u, [4 K  }) z解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。, r! w) i4 D1 T1 d) }2 o1 D

" h. p' ~6 r) c3 v* y2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
4 y0 m& w6 d: k; t# c+ O解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
' T: c  [4 a- t2 L7 Q然后到后台的数据库校验,校验后修复一下其他表即可.
4 c: V9 k% |# }4 X+ U嗯,不错表现一:所有的人都登录不了
  `- Q9 F& ~% X7 K" E1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
; @3 e! j: F9 Q7 g8 _比如你用http://www.zgwxbbs.com访问,那你就设定成4 ~% ^% p* \( z& o8 ?
.zgwxbbs.com 即可。
/ ~/ \! W- p# R+ g7 _7 O: i4 r% M& P: w4 X
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)0 z2 Q9 ^; [  \0 v0 S: z# `
有些人因为不小心删除了 {eval updatesession();} 而出问题( b* f6 H& G/ `# n
解决方法:
2 i9 S; F, V, g2 e) U3 i5 |打开 footer.htm
% g! r& H- e7 u0 z; ]  v$ V( u查找 eval9 x( [' B! m  T
看看有没有 {eval updatesession();} 和 {eval output();}6 {( A  X+ O" m' l/ z
如果没有 {eval updatesession();}' C/ v: u' e) ^' v# A" R
请查找 <!--{if debuginfo()}-->
' z' x' ]2 x, j  P3 ?在上面添加 {eval updatesession();}- M: k; L. c$ H5 S$ ^) l+ d' K$ w1 v# \
如果没有 {eval output();}
, y1 j% J$ v/ E. F5 },请在最后添加.
" `* i2 C) v# R0 g/ _  k7 I6 J
" t' p. j! T9 Z8 |1 u# k% U/ s  o3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。1 j  U& y) u2 [9 |. J$ h( ?$ p
5 X6 i/ B$ e" W5 K! U8 i' K) [
4、防止论坛自动跳转后退出
( |7 s* d0 o  W
$ u5 ?- n. r$ R- ?在 logging.php 中作如下修改:( q8 Y0 v( f( ^' _# A7 O! K
找到 showmessage('login_succeed', dreferer());0 `) C+ [1 [2 R) U
在它上面添加一行:
3 @+ {& e8 d* Vif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';* h4 Q% `' v" B; b" @; `, b
5、在logging.php中作如下修改:" Z1 @8 e6 G' j% n: v1 R1 W" |
查找 showmessage('login_succeed', dreferer());
* `9 A' o! |' j; W& Z) C5 z' H在它上面加 $sessionupdated=0;
; q$ x/ j# L1 P& R; D! D) l) Z1 U% `3 O0 r
6、程序问题5 x& S8 o/ g2 d4 {* Q, s) ~

( S; l% z: C- B1 p: T一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。  B; Y% G5 n9 {/ X2 u% Y: _. @4 @( M
这时候,将程序的报错打开即可发现问题。; u9 N. x" T! j, j% T
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
% J, c" x& h5 f/ V做法二:打开 include/common.inc.php 找到 error_reporting(0);7 u2 g) C! d1 S" Y: K
修改为 error_reporting(7);
" l9 [+ F+ m0 d; X7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
, X. }% W0 L) C解决方法:修改目录名为字母或数字格式就行了.: ~- s3 }2 j  ~0 o
- S7 x2 I. p, S' q6 w. M
表现二:部分人登录不了(找个人原因)$ z$ Q( V' ~* }& s! H3 V
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决." `2 g3 B& e- t6 v" j2 L1 R9 N
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;# s7 `* M: m) m0 g
3、个人机器没有打开 cookies
2 u9 S; K$ x" _0 n首先查询自己所使用的IE版本。
1 Q* s! v6 L6 N! Q1 P8 x0 c/ K打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
8 c5 R8 A0 A( a8 {1 D2 o  h. ~3 `/ ?$ j3 M( ]  c8 G
题下第一行,就是有关版本信息。一般是,5.0或6.0。
4 v% S7 S% F8 p- w$ c( }; |' D$ w6 ?( H8 K! @0 R
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
& y8 u# z' e, e* d! @- b5 x
4 l  E3 R- k8 q8 a! }0 c(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个". Q8 F5 S) g/ T

8 X3 }5 t. z) q( F5 Y" Q隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
  }5 R4 O* E/ q- Z! @- V) R9 ^5 z. b1 j% K1 ^4 R
覆盖自动cookie处理 (Override automatic cookie handling)
5 F! {+ q; O) Z$ d
, b6 j# d4 \2 Q6 L. n: Y. ?9 D第一方cookie:接受 (First-party cookies: Accept)
( C( G3 W" I2 X) n% J- h$ v) k- ?# F9 d5 L: j( @. c, I
第三方cookie:接受 (Third-party cookies: Accept)
2 F% E# F( Y4 K8 _& u( H/ b2 E6 D! ]% h# A3 N/ s6 x+ G
总是允许会话cookie (Always allow session cookies)( X" o6 `2 Z5 }) z

+ C7 U; m  f! n2 K& f点击按钮"确定"(OK),关闭cookie设置窗口3 p) Q# q! Z6 c3 V: ^. @

) b/ w# Y' C7 t4 k7 \. \  ?7 n! v点击按钮"确定"(OK),关闭Internet 选项设置窗口
! }( p  \  ~1 c/ h) y# p* I
0 \$ K8 d% h9 E0 r: r8 y8 a: l( F; S- u9 L- a
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:. A0 D$ [, y* O; h. R% X2 ~& ?5 `

, Q$ j  o% G! {' U/ I点击菜单条上的"工具"(Tool)
3 l- B+ v# k: M8 i; ?8 Y- \! x4 }9 A$ y) L) I% f. c" {
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
8 t% J- o4 a5 s& O" U, O: A7 L& a: \1 g+ j% u0 q  `
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
) l5 ^. @4 d4 h! n9 h9 m- }# J1 ~9 w; M6 H$ E7 u' }+ C: L
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized): F0 c8 R& v  P. S2 ^
$ R& H  f) \" U1 ^$ P8 d; j
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
  U" l1 _2 {; E# q: |: f5 X# [# S- w
允许使用存储在您计算机上的cookie:启用
; {; O" `* Q! X. ?0 [
- N0 ^% h9 m' d6 i$ `! o2 H允许使用每个对话cookie(未存储):启用( \& F* V3 }( T7 q5 @0 |

7 }. Y/ C( M' v0 a3 k0 @( A% f
$ j, t- {. }7 O点击按钮"确定"(OK),关闭安全设置窗口% U8 F; v1 H1 \5 t( `; @

/ F+ ^- x% c) P/ C" c% c( d# T点击按钮"确定"(OK),关闭Internet 选项设置窗口. O$ ^1 o& _) ~  @: ]% u8 ?" A

* K9 ]' U- _2 |4 f5 r
" b$ Z3 m( D/ r4 U$ x1 {! f表现三:后台提示登录成功但是始终跳回登录口
% G/ v, z5 J! ?0 B) o* K1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
$ Y( l: |& M) n1 b/ X& a7 h3 C9 l& ^+ J7 M5 ]. A5 z
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0" s9 m; P2 E0 ^2 _; M# m* y, [
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。; Q! f* a3 Z! a+ z( _
. e0 Q) M8 B: h/ S2 |
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。4 `7 C0 S/ r2 Q
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
6 H4 W* k' R* C0 B7 Z然后到后台的数据库校验,校验后修复一下其他表即可.
- p5 e% C, j. N, I& E+ {9 d8 ]" t. O- b- H+ B


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者
4 X1 G$ x, q  \2 w! Y3 Q& O
discuz设置允许版主生成文章/发布文章的方法* K  y, `5 y0 p3 E: M% y
6 g2 ?, f. V4 ~; J7 @4 s
管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是. r, g( k9 F$ A+ D  u
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。0 ^5 Y0 f) N( d  C6 b: W& H( H4 ?

4 h7 p( e" T2 s; j( ?& j, K3 f管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是
& T- u8 J0 B/ @& O# h* o$ k: R) o设置完,更新缓存。
8 [/ d( T9 g7 ]# f# \( t这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。: a6 a3 P1 n. C) I
" K4 X( s  c5 h# ^6 G( j- H+ n3 u. v
5 _' r8 X3 R6 D# ~3 O# e
如果不想自动转化为HTML, 第二步就不用设置。
" Q6 z  p6 }# K- h3 R5 T) |- f3 P
/ N+ \, g/ w, d6 t7 H
/ B0 e$ z% a8 o% c: Q8 `8 H1 {问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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