开启左侧

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

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

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

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

x
表现一:所有的人都登录不了8 y9 n' ?' }! R$ X+ o0 Y
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,- H8 |( }, n( l' W- X1 s
比如你用http://www.zgwxbbs.com访问,那你就设定成
1 E7 T/ f$ k/ s8 w$ d& I- [.zgwxbbs.com 即可。0 Y  P9 h1 k3 }/ i

( m3 C6 Y- i% C# X, O2 o2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
/ i* B" R1 W( k有些人因为不小心删除了 {eval updatesession();} 而出问题) j1 u) W: l3 @* h6 t0 j, l* S- I+ B
解决方法:  F& n! I( p. p5 z* [1 u' R
打开 footer.htm
1 e2 r3 x3 a: ?* C: G- n查找 eval1 D4 b+ e% r2 h! |9 ]; k  w4 P
看看有没有 {eval updatesession();} 和 {eval output();}
9 _- s8 s3 n! Q2 ^6 {如果没有 {eval updatesession();}9 O8 @) C) E; x6 I% D( ]
请查找 <!--{if debuginfo()}-->, }! {* D, m. l/ k
在上面添加 {eval updatesession();}
: b" g$ B/ |9 `8 h9 ~如果没有 {eval output();}
! |; K3 ]7 @, U) B8 E5 O7 v,请在最后添加.<!--{eval output();}-->
. Q. X; H( H9 H% I, K6 H
3 d4 I& n$ I) G) {8 B2 `3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
+ m" g, k1 Z8 V$ o; \0 b& u9 O7 @6 K5 I
4、防止论坛自动跳转后退出
# V5 p% u" e# \6 I1 z  T3 d9 O% F
在 logging.php 中作如下修改:
0 @9 i6 ?& l& U找到 showmessage('login_succeed', dreferer());5 ]4 r2 V2 K' t& S) m
在它上面添加一行:
  ^, n* }$ r/ T8 i6 |8 Pif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
+ y! n. G- H1 A6 J7 b& u5、在logging.php中作如下修改:
, g) M4 N9 l2 Y. t7 F3 l1 `  ~查找 showmessage('login_succeed', dreferer());* v( r- f$ n1 Z, A
在它上面加 $sessionupdated=0;4 q9 Z9 f9 c: Q+ t
. ^" w0 |4 F) b- j( m" k5 |* p/ h& o3 b
6、程序问题
9 u- \9 l$ O. r+ L4 b6 p" s
: a) S' e8 ^" O8 {8 a- \2 H7 X& K一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。& c/ U3 P' Y' Z
这时候,将程序的报错打开即可发现问题。7 ~0 z) y& M8 N4 t. ?8 e4 I( n
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
# \: F( j5 L- u  y做法二:打开 include/common.inc.php 找到 error_reporting(0);
8 u' a  p/ x. _1 k* I& i修改为 error_reporting(7);
) c: R: l6 w+ E0 E2 N7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.8 q# v) T7 r* B) \. ^, Z  b2 W
解决方法:修改目录名为字母或数字格式就行了.
% v8 B1 f* b/ x8 e! w! F4 _) L3 u6 o1 U/ i! ?: K7 E
表现二:部分人登录不了(找个人原因)
0 D1 o5 [! S) I! s6 n& i/ O1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.2 N& e4 F2 P0 j8 Y2 k
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
) ~2 r4 Y1 Y. h3 l; M% t3、个人机器没有打开 cookies
7 `. \+ h5 }/ G+ l- B/ ]首先查询自己所使用的IE版本。+ V+ W/ W( B  K6 p, q, t
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
. B) d& }. l2 F: i+ k2 M6 ^/ W% O  _1 s/ g1 T1 y
题下第一行,就是有关版本信息。一般是,5.0或6.0。1 ~' ^: W. S0 u+ k- Q

( m% D0 S0 w1 h& r4 jA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
- H! r! v1 U* ?% |, `, z( r, }: t. ^& M" k. G/ K. h  o
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个") F' z" f( z7 J, y& \

, n, }" j9 ?5 i& {4 _9 z+ s7 O隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
; K7 _. X* a1 w7 F
1 G4 r& h% Y- ~覆盖自动cookie处理 (Override automatic cookie handling)
* F& q9 N- Y$ |5 y) a3 X  O2 N6 j: D1 @9 S4 h( C: I  R5 p
第一方cookie:接受 (First-party cookies: Accept)- [; B( l& |9 A  i1 ~* z

+ n" `/ \6 u) \$ U5 ^9 _+ u第三方cookie:接受 (Third-party cookies: Accept)
- {( M% L: p+ v5 h$ n4 R+ |9 M3 I$ @! R
总是允许会话cookie (Always allow session cookies): t" {" ]# t# E/ l
% O: D8 r- h0 N4 x3 @& p/ u# _9 J2 R
点击按钮"确定"(OK),关闭cookie设置窗口% ^/ Q' [0 _  |  b1 n
4 B: X9 g1 K' x" A
点击按钮"确定"(OK),关闭Internet 选项设置窗口; ]1 t6 e& Z7 T1 s1 Q/ q

+ v: p! b$ `4 s1 h; k6 T
  r" P8 }. |3 |B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
9 z- `% p6 W1 W- j5 Y8 w' `9 Y
7 |9 q+ k! L' n* \" m点击菜单条上的"工具"(Tool)2 x& C3 m- G! r4 y

6 O" L% e2 q8 L" G2 `4 \) G% n在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
, H% X! [$ j# c; k; R
( N$ r. c6 G* S在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。) ^: q( S# E' J: ?- q3 O% _" u

8 C) u# a9 a1 m6 [; a在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
: f/ z5 t9 G+ ?. {5 S5 g7 f, N/ X) ?# y8 J
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
. {4 |" o& ^; L; k6 b# n8 B
$ c1 T) k3 {: e6 y$ I允许使用存储在您计算机上的cookie:启用% H7 ]% h' u; u; f( ?7 D) S6 Y

) X* [& [9 f9 j1 l/ U/ |' w2 F7 A允许使用每个对话cookie(未存储):启用
! u' T. n9 z  Z' h7 ?& p' |  w5 X  _7 U) x4 \

) B7 K' B# P; ^7 B5 `1 K点击按钮"确定"(OK),关闭安全设置窗口  h2 V( G3 D) Q: N/ j
% G' g7 G0 S: P( ?" f8 d$ h
点击按钮"确定"(OK),关闭Internet 选项设置窗口3 H6 h, \0 P; Y0 e. N5 g  p

7 p* N/ d: i! P5 A" N6 Q& d2 q, k  i; k: H: @1 }9 P
表现三:后台提示登录成功但是始终跳回登录口
  ^4 d+ [/ K/ I  r. q- V+ ]4 D1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的' l/ G* ^# `$ X: z

5 w2 P! A# b- X0 ]2 E/ ?解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
$ w( E, q( y! e% ]解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。2 x! J) @1 M, r: U5 \

* d- r( j- `2 u% y2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。9 V! Y' y  y6 f  @- U  `2 m4 O
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。; \* {# R2 O/ U& f' P1 k; h# Z
然后到后台的数据库校验,校验后修复一下其他表即可.
$ T* E' k, y" W! e8 p嗯,不错表现一:所有的人都登录不了3 W9 w5 `/ ]4 u$ W0 t
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,. _" K" ^* N2 U
比如你用http://www.zgwxbbs.com访问,那你就设定成
1 O' R, ~6 k- |# Z: y! Q( B.zgwxbbs.com 即可。# g( C0 q3 L( T7 d; f

  M% ^; y+ U' {9 W4 Q2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)' V6 Q7 i4 a% @, P, e
有些人因为不小心删除了 {eval updatesession();} 而出问题4 Q7 b( R. E+ }
解决方法:' n( t3 q0 Q# o! G
打开 footer.htm6 i, p6 |6 `3 y" h$ s: V0 z
查找 eval
$ P; L- W8 Q9 c$ Z看看有没有 {eval updatesession();} 和 {eval output();}2 _; M4 l0 P: M0 V  Z0 {5 |/ _
如果没有 {eval updatesession();}
& @8 s2 U, X: a/ P0 l) I+ G7 d请查找 <!--{if debuginfo()}-->9 w9 b" ^" A8 T4 o0 N+ E) }1 y
在上面添加 {eval updatesession();}7 ?6 v* b6 Q3 r1 u2 h7 t
如果没有 {eval output();}4 Z* J1 H! B( g# x4 w) k9 f
,请在最后添加.' ]6 M# k/ w0 ], t, E) ?( a8 Z" w- C

3 J& z$ _7 u# Z: ?3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
4 {. }( p" C$ T$ `/ l1 S1 E% I" T3 I7 p4 G0 Z
4、防止论坛自动跳转后退出6 @# n5 I" Q& v/ [/ @, n; q
) E3 g2 m& y, n, S' k
在 logging.php 中作如下修改:
% X/ U) m% t6 M7 g: L$ w+ P找到 showmessage('login_succeed', dreferer());' m% l( o- K' n
在它上面添加一行:
0 l& p/ ^& q9 _if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';6 I& f! Z& {1 L. |( Y4 i* o
5、在logging.php中作如下修改:+ P' D% Y# H, ~; h$ ?& ?( O/ m% B
查找 showmessage('login_succeed', dreferer());" D* g8 U2 r: E0 E# W5 F
在它上面加 $sessionupdated=0;
5 T. h1 B: B* J/ O2 [  l
# O! V, m2 p) w' Q5 w6、程序问题! g  V# n0 Q, [/ {: X

- k% ?: g9 E2 v2 A7 @- v* T' W# r一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
" T+ x, B2 S4 m- `. v这时候,将程序的报错打开即可发现问题。3 [! n+ B; `2 h* d9 v/ z* R' Q1 c
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
4 g& ]4 P7 @, O做法二:打开 include/common.inc.php 找到 error_reporting(0);
. z) K/ d/ b8 |修改为 error_reporting(7);8 O: d# [) Z4 P2 ^. @; k
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.% D4 F$ E2 k7 ^3 Y* D3 `% t
解决方法:修改目录名为字母或数字格式就行了.
/ I1 n$ K6 J4 o1 j* z4 I
) Q+ C1 e& K( j  |% F+ S4 D表现二:部分人登录不了(找个人原因)
  F6 b0 ^6 P2 e1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.- x! i5 w2 j6 V3 h
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;5 _9 V9 g  l) y+ ^; A0 t' E2 {* J
3、个人机器没有打开 cookies
  q; R% y1 w% K& x5 P) t首先查询自己所使用的IE版本。
1 ~: w* k' u$ P' T打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标& m/ P- q. j  s+ s8 X# S
6 j" o' J; h- C6 `/ }
题下第一行,就是有关版本信息。一般是,5.0或6.0。0 s) u- c. \5 F; s- P- ~# [7 F1 a

  L" g* p" D3 f8 n# f3 T1 FA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
+ q3 q; d- ?% s1 a' _7 z* ~1 V6 G$ C* O$ [" _, I  L) B" ]9 P, G
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"/ w$ _: B, q" u# G- A

% Y3 r* r% ^0 Y' a; }1 i; o+ Z隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:2 z+ u# J* P# \) }! d

0 S% U+ }; r. D覆盖自动cookie处理 (Override automatic cookie handling)
/ ^+ o" G% m9 d( J7 m( J4 f
% L# Q  v5 a0 n, u' k第一方cookie:接受 (First-party cookies: Accept)3 H1 N. I2 K1 t
; Y8 Y4 o3 W  P* ]( V# {
第三方cookie:接受 (Third-party cookies: Accept)- z9 x: r& F8 w) e- h
. Q9 _' B$ A* F2 d5 V( x* ?  Z
总是允许会话cookie (Always allow session cookies), R0 l9 A' e" `; e9 t1 X

4 z; \4 _# L: H7 M9 T! `点击按钮"确定"(OK),关闭cookie设置窗口* F3 v9 o5 _; g, z; [  [9 h8 P. \
' y2 H) p! {' g$ f1 H0 k
点击按钮"确定"(OK),关闭Internet 选项设置窗口  j4 n% g1 I) P$ z. U( u
! L4 |- o# G# W# l& M
& b# ]- ?* X3 O, M: s) ?
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
6 x& G* q6 J7 z9 i# O; Q2 M9 o
% H3 n0 _3 z1 |7 [8 J# k9 D# A点击菜单条上的"工具"(Tool)0 G: q. |3 Y4 a% Z# T: e
& v2 T# o0 Z2 ^: V. B, q# w- k
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
- d; J  G9 x2 D5 U, H. V, _& w+ \, @; \# M  e1 S0 [# a0 J- w
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
8 D9 a) L: G! @: a' P( ]( C( ?4 Z2 s; R7 H
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)6 s4 g" X. B8 V: y" r

& E+ |& s6 s0 B) Y; n在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:9 m1 }* P8 Z( D  x* F5 f. P1 k. b0 ]! s
0 I. c3 T# I8 i9 F7 B) z0 ?6 H1 X
允许使用存储在您计算机上的cookie:启用
  M/ l7 L% T- m+ [% X9 M! G( I( e& N1 n' Y: q# l  _
允许使用每个对话cookie(未存储):启用& t5 G! O; {# L

, l: [2 d3 s; o8 b# h& r' {: @4 ~+ A! N/ D, ?
点击按钮"确定"(OK),关闭安全设置窗口
4 A1 Z8 z5 K6 n; d% I" l, t7 l7 t7 U5 `# }" E
点击按钮"确定"(OK),关闭Internet 选项设置窗口9 L- Y* O4 }) J1 q% o2 N
% D. B3 ?" S& x( Q" [; q

4 W6 k0 t" i" y7 l7 F* o表现三:后台提示登录成功但是始终跳回登录口' i2 S$ u& G, F
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的$ V5 ?4 l1 m, V
' C2 r, ~, g" a" n
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0* l! y! w; }9 R4 }: b: v5 e, D
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
" ~' R# H2 }: [) U# B! r. x, U% L9 b8 i9 V9 t+ E% w! s
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。9 h# U* z9 ?+ D7 F6 R: z2 ^# Y2 q1 v
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
9 p5 u9 b9 J5 s8 p$ a' I然后到后台的数据库校验,校验后修复一下其他表即可.
9 H0 n$ c6 h, h& {  y9 m1 n. W$ O& v* p' b5 ]: w


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者

4 n4 ]7 J# A: o+ _" ^  idiscuz设置允许版主生成文章/发布文章的方法
- k) P! W: c3 F1 X& n, B- c2 S7 x
管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是$ u& l6 d! i3 S  {
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。2 E& X& g, k9 r( K# z
# O2 b8 x" _5 `
管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是
. X: `6 R8 \+ @" H( T9 ~设置完,更新缓存。
% X4 {. D( T7 R这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。
& a* W* u3 \6 U& K" {
) P( _2 C" J% _  [3 E
  x* e5 m/ Z) {1 W7 q如果不想自动转化为HTML, 第二步就不用设置。
0 J: |0 G/ U- P) e
/ z' {  U  x3 b0 _
; W4 \) d2 U; ?问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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