腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

Discuz!论坛发帖自动退出登录状态的解决办法

1
回复
1569
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33029
发表于 19-4-4 16:39:08 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                表现一:所有的人都登录不了
+ b4 d) U1 E" a0 L2 x8 N7 l1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,7 m& k: Y' Q! Y4 J9 x# h
比如你用
http://www.qiuqiufa.com访问,那你就设定成
6 [5 |9 ]0 n  b% h! l+ V.qiuqiufa.com 即可。
$ w% h8 F% |3 y5 j* m2 f
( E: |- k" z7 `6 }2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)8 G5 F1 ]  I9 }+ v+ {& C
有些人因为不小心删除了 {eval updatesession();} 而出问题* w( \7 f# v7 c, b8 d- Z. P7 b
解决方法:* ~: }) V' X: O1 _' r! f1 w  z
打开 footer.htm: \1 U0 {8 b4 g+ Q7 G# m% k  ]: r9 V
查找 eval; X; G& b, \/ v' |: p
看看有没有 {eval updatesession();} 和 {eval output();}
' T5 ^* f; k% i* u  j8 T; ?如果没有 {eval updatesession();}
" g% i" E1 }, p' F: l请查找 <!--{if debuginfo()}-->7 E9 k" a  Z2 |! J
在上面添加 {eval updatesession();}) L, K0 ?# y+ g
如果没有 {eval output();}
# C5 D* \7 `6 B1 Z! \5 U,请在最后添加.6 Z3 a( a4 |( ^* z( Z
1 d$ i( s2 U  C8 d0 V4 D( \: e0 b- a
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。& ?& F& B8 |9 G4 l: O
( S  v& X0 U! f# l( q
4、防止论坛自动跳转后退出% N* w! V- E( ]/ `& f9 l
" b$ }: D& A3 u: m, H
在 logging.php 中作如下修改:9 ]5 @2 |2 [$ |' A" \
找到 showmessage('login_succeed', dreferer());0 P& @: a4 b6 c- [% O8 i
在它上面添加一行:
+ B# {0 O' V+ t; h! |4 Aif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';0 l" m5 @- P% g& y; s2 ~
5、在logging.php中作如下修改:3 c. Q6 `. o3 V4 n4 W' d
查找 showmessage('login_succeed', dreferer());& b, P$ t9 |; p; e& k
在它上面加 $sessionupdated=0;
. e. f- P0 e' K0 d" ~) p2 O" X$ A% j2 u( f
6、程序问题
& I& x5 y" w  Z+ D" g6 c
0 @  p7 w& h; N; p一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
3 b+ |1 B' y6 G4 B/ Q9 b$ y/ c1 V这时候,将程序的报错打开即可发现问题。. r* j8 t% ^9 V8 C- G* O
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
; v+ H8 |/ R; D! Q1 W0 p. K. [2 h做法二:打开 include/common.inc.php 找到 error_reporting(0);; \! A& j' N0 e9 P, I# k6 r4 |
修改为 error_reporting(7);
7 ]  r* S  n$ I7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.' u( ^$ m4 ]9 Z6 R7 N
解决方法:修改目录名为字母或数字格式就行了.
% p+ o' H( z8 S! \' a$ D8 v$ Q1 F
表现二:部分人登录不了(找个人原因)
5 a. z! C5 e( o7 Z" L, c1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
9 t" z* V! o% z3 S3 T% q2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
. i" ~$ J5 s+ e  x7 _3、个人机器没有打开 cookies' S$ U+ Y0 \- [& K  V6 Q
首先查询自己所使用的IE版本。7 ^: L# x( }! K1 ]' p- _
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标& `  J, B" Z7 x

+ o7 k" T! N  M- I* Q) d2 l9 U题下第一行,就是有关版本信息。一般是,5.0或6.0。0 R/ B. h. A4 K
* s  n+ Z/ L3 l/ K! r. }+ t
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
" b$ \' N+ i6 Z( X) I! a) b
/ i* M& ]/ e# G( q7 a* h(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"1 _9 y' n, [' u. ~* a& j
' I4 m0 v7 N: C- S9 w- l! x
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
$ n" e5 h2 Q1 U  A) g: ?
  i6 `2 D+ V+ ^3 W. @覆盖自动cookie处理 (Override automatic cookie handling)
" T. S5 H# a* J6 {: E# w, d6 Q9 j3 n; M7 Q, E7 R
第一方cookie:接受 (First-party cookies: Accept)3 L6 `, y2 L" S
) P$ I0 h/ S. v: a! L
第三方cookie:接受 (Third-party cookies: Accept)7 T, B5 s( t$ e& Q$ Z
& y( H3 }; @# M1 m9 Y1 y6 `
总是允许会话cookie (Always allow session cookies)
' Z3 Y$ o+ z( H: u  ]& j8 G4 L2 W: z+ b6 Z1 m
点击按钮"确定"(OK),关闭cookie设置窗口
6 J7 E+ B3 j8 z0 k" c
- [9 \' d4 B( G6 w点击按钮"确定"(OK),关闭Internet 选项设置窗口3 s  n# S" [& @4 X, i0 N
# q% F! h7 C0 v' n4 N# t

( x4 J( W7 ]6 v5 v! W" G$ R! QB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:# ~% J1 `; [, |. |1 Z3 o

0 G' b4 S2 p4 h* x4 H: q点击菜单条上的"工具"(Tool)
% b' b/ x, |7 s
/ i' o, z% \8 @- ^0 |8 K/ |在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)5 q  W+ R6 M) q, ?# ]
+ E) Z, ~6 Y9 s+ W  l; b9 N
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。6 q$ a. s7 b) V8 D3 r0 l9 i- [1 ]

3 g3 G' `4 @- z; v/ I2 M在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized), w6 G0 Y! E( n8 b" S" K

2 Z( Q: G; `$ L& Q6 i在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
' \; U7 E- F! W6 |) M/ J( Z8 O7 Q) m: n0 B2 m8 P) D$ ]
允许使用存储在您计算机上的cookie:启用
6 Q. ?7 h9 Z6 }7 H/ b; G. G- j7 V* z4 `3 c0 e: S! m8 W! y3 Q
允许使用每个对话cookie(未存储):启用
( e) s2 I& |: u6 e/ M
- J8 G) F! K/ _$ ?1 W  e" t$ x- a/ ^& Z. N- ~
点击按钮"确定"(OK),关闭安全设置窗口
( [  T# r, Z8 b( ~& l6 a3 U8 Q) H. \+ z9 K$ q' X  t/ }
点击按钮"确定"(OK),关闭Internet 选项设置窗口
0 F) W, T3 S- v" H% J8 C
* Q' |3 n1 Y6 l3 a$ A. ~4 {/ a$ s3 x: T* y+ O' u) a
表现三:后台提示登录成功但是始终跳回登录口
. c- }! E" t' g( C, [% d1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
  U5 G9 k, f" n1 _
! |0 N  `0 D0 V; P8 q$ G$ j4 b# X解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
2 x6 p( b5 h# D9 A* ~( l解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
4 F6 l$ v! j3 e; i! w, j+ f  N# y( L, d3 M6 }0 J0 M
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
) o  I- s" @+ u; A: |/ G1 W$ I解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。5 G7 J) Y: s- Y4 b: ~+ J
然后到后台的数据库校验,校验后修复一下其他表即可.
8 n3 r* d  c" l' I8 f# @% g

' L/ W$ D3 L- f( c# @6 O            

0

主题

10

帖子

20

积分

1°伸手党

Rank: 2

积分
20
发表于 20-3-9 21:26:45 | 显示全部楼层         
Discuz!论坛发帖自动退出登录状态的解决办法
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除