开启左侧

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

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

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

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

x
表现一:所有的人都登录不了: s, a  y3 Z" \1 C9 Z% Z" x# u, p
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
$ S3 Y, @0 N) w7 w  v( s比如你用http://www.zgwxbbs.com访问,那你就设定成$ K# |2 T, k, g# j+ n  r6 K% J
.zgwxbbs.com 即可。
. @1 f' L3 C+ _1 E% a5 V, [0 L
; F! l% O6 e4 o# ^2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)+ ^" ]* B( M4 p1 x3 [6 _$ R8 N+ H
有些人因为不小心删除了 {eval updatesession();} 而出问题
6 h+ a6 s) t6 G; S, H' Q; g, D+ n解决方法:
" Y4 ^/ |8 z: b* E2 q打开 footer.htm5 f* U* Y+ r/ L  c
查找 eval6 v3 |0 C1 X6 V
看看有没有 {eval updatesession();} 和 {eval output();}8 l0 A8 }' q4 L4 ]7 \
如果没有 {eval updatesession();}: e5 y! a! _. I+ R+ L
请查找 <!--{if debuginfo()}-->
' J/ G! h! Z$ A2 f9 R在上面添加 {eval updatesession();}* l6 G% M; U" N8 u7 m
如果没有 {eval output();}
5 D0 K! ^3 J5 m; C; ?1 |% {,请在最后添加.<!--{eval output();}-->
2 K4 V2 g1 \& H0 c+ V
, w- H9 F7 z7 k- r2 F3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。- U/ j$ v8 a7 ?
( c! [. E, {+ Z3 p  C- h
4、防止论坛自动跳转后退出& C8 J' H& |; R/ I( @' A- ]! h5 Z6 w

* ~- B9 ~5 [4 F! H. ~% f: @6 E) ~, f在 logging.php 中作如下修改:- Z. w9 r9 }' {' W4 w
找到 showmessage('login_succeed', dreferer());
' p7 z3 |6 r2 E: G, M1 N在它上面添加一行:7 ~. G/ ~1 _, j  P5 e
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
* b, D; g- q& q1 T% Y5、在logging.php中作如下修改:
4 g7 @+ K6 w5 A* `9 U/ U查找 showmessage('login_succeed', dreferer());
% K$ X; r6 R" @' @. R5 z9 K在它上面加 $sessionupdated=0;& R5 f! h5 i' ]& [1 o; K

+ s4 j# b( k6 M+ A) l& D: W6、程序问题
2 I, T' x8 Q0 y5 P; B
! E7 ~2 }* Q) B一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
! `& N4 |) \1 c4 P/ f: [' W这时候,将程序的报错打开即可发现问题。
! b, z# d6 q# g  E做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
" D2 Y7 b4 G) c& q! p6 P5 M- a' ~做法二:打开 include/common.inc.php 找到 error_reporting(0);% {8 k$ z% H% q
修改为 error_reporting(7);0 J6 g0 I/ d3 {* O
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.1 N* S  e) C1 @. a) k$ k5 w
解决方法:修改目录名为字母或数字格式就行了.0 T  U6 I% }/ P0 x
" X8 V  ~! z* g9 r$ X: ~9 X
表现二:部分人登录不了(找个人原因)7 J, F+ ^& b- q- n: O
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.2 w0 |, n$ b8 I  _" \6 J
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;$ y- }2 j2 v* ~  G! i
3、个人机器没有打开 cookies, n$ _- }/ |# y  q
首先查询自己所使用的IE版本。2 m9 j; R+ n& }( X! y  Y
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标, ~* l3 f. o1 I0 f# r( w! b' y
$ F- w3 R, R/ r% Y
题下第一行,就是有关版本信息。一般是,5.0或6.0。
% N! K" {) K4 t( r& a9 [, \
7 L5 D" b- V2 N# m0 x) d2 ?4 ]A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
; b1 }0 g4 @2 D9 F
$ C: n* [# n9 k$ K# r5 P8 X8 ]# z+ b: o- s(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
8 H4 p6 t9 i$ V& ~6 d+ u- X, r* k9 L9 f5 _# {: H2 ~8 r, s4 J4 V/ ]! U
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
  _3 x& s7 `8 O! v7 V' D' B, G
4 a4 J+ s, ?2 k, q$ U' l# \覆盖自动cookie处理 (Override automatic cookie handling)
, e. {1 n8 a# b: C  E. a+ S1 _
4 A7 ~( \4 L* Z6 ~' B& `$ T第一方cookie:接受 (First-party cookies: Accept)
* ^2 D9 K, e7 O( r& b8 \) o) n# S2 K0 S5 }* \1 M
第三方cookie:接受 (Third-party cookies: Accept)! P# S% M9 d  r3 z$ f1 e0 ?

, U$ s/ H6 Y; r; C" I总是允许会话cookie (Always allow session cookies)3 f5 t( r# n2 Y, M

0 M+ V$ W5 {" D: @. `- A点击按钮"确定"(OK),关闭cookie设置窗口: E. Y4 q8 w9 b, O; N+ ^3 Q
8 _% o2 Y# h) i# n3 H; @* {
点击按钮"确定"(OK),关闭Internet 选项设置窗口
+ C% J% \3 Y' _, c3 s0 K- R
# \( I5 q* Y/ x
& D) ?2 Z$ a  R. k  p. [+ bB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
  Q8 R! ~. `9 i0 e% {/ ^; H5 y3 N& a7 X
点击菜单条上的"工具"(Tool)
/ y/ J. \9 J& g, ^  l. s) @: s" ^! {5 ~
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)4 M* m( g+ b) r8 R) }1 y

3 m! H/ @* s! H在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
/ o8 _: _5 ^* t/ R, E  z2 D4 k6 x1 H; R/ m, W6 z3 K( t
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
- {' z+ S9 z! {; J( p
3 B* v* o/ B( J6 k4 u3 s在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
) b4 |0 Y( o. W4 Q# X- k6 i8 u  Z6 U$ p* |+ r1 q0 \
允许使用存储在您计算机上的cookie:启用
( I; D- g+ z+ q8 k0 j& c$ F0 x) R' B0 j6 {1 i& z1 x* Q! M& d4 e2 W
允许使用每个对话cookie(未存储):启用
  d0 l* f# o) _  u- b! d  _/ E( @7 a# B; u. w
' P% v5 W/ D$ q# O$ C% A0 n
点击按钮"确定"(OK),关闭安全设置窗口
3 f- Y1 f# ]" |, Y! }% T; L9 V# a, i- v6 _3 L4 @7 X/ ^
点击按钮"确定"(OK),关闭Internet 选项设置窗口
# R: C6 S# M" k- K1 }8 _2 Y" |* A' C( q, ?

% h% e% K3 U" S9 C表现三:后台提示登录成功但是始终跳回登录口
" a$ ]( Z0 J4 q* Z/ r1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的: Y4 W" G) n6 j0 b3 O5 J8 @

& @) R5 f5 s' c7 c4 _解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0$ X* [0 Y( @& p0 K) j& a  D$ F
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
0 n, m) y3 y+ D8 y4 f0 n8 u  b! y# [
0 W3 H1 ~  Q$ V+ Y: E! u5 N$ T: V* _2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
3 m2 L/ G4 j$ K6 e* l- s! A. {解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
1 K, I; E8 r0 B& a+ G9 q" {然后到后台的数据库校验,校验后修复一下其他表即可.. D0 ~2 l3 ~7 y# S# P" d6 H; h
嗯,不错表现一:所有的人都登录不了+ [8 j9 {1 J: [- S" b/ P8 t
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
3 E" {- J5 o: J: F8 G7 x" A( z: a比如你用http://www.zgwxbbs.com访问,那你就设定成
' C# t' R5 J9 R) k8 A, ?4 [.zgwxbbs.com 即可。
( ?* v8 Q) r  W* {/ q
4 ]) J/ b0 {( B2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌): R3 Z7 d% b1 Y' K
有些人因为不小心删除了 {eval updatesession();} 而出问题; i* _8 u/ f9 X$ ]9 S- D4 \' Y& G
解决方法:
) `# N' c) t3 e1 I* h打开 footer.htm
& C& ]& M: f5 E  M* U: G8 Q: I查找 eval
  {4 p' \0 ~- Q& f* P% E* A3 N- m/ B看看有没有 {eval updatesession();} 和 {eval output();}
# `- R( v3 r1 @' n1 P8 |9 l如果没有 {eval updatesession();}
+ A8 x/ }" R" w( b) w, U0 u请查找 <!--{if debuginfo()}-->  c$ z: R+ q6 R7 u1 G
在上面添加 {eval updatesession();}
2 ~2 F9 A9 _! O+ K0 _如果没有 {eval output();}3 C5 X* b- X: b5 O% j. ^
,请在最后添加.5 l5 u; v) w" c, ^) p! L; T
, B  q2 }. E$ [8 [
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
, B" m2 S' v( \- ~: X4 h  B; W4 w, |: S# p3 M8 q
4、防止论坛自动跳转后退出8 R9 b5 ^  u# ?4 _* B

+ {( c; F6 B7 y7 ^& a在 logging.php 中作如下修改:2 }+ Z% N% y* g3 J
找到 showmessage('login_succeed', dreferer());
; c7 _: a/ t. k4 z1 U在它上面添加一行:) V; w, @2 h5 J- [4 P* \% v. V9 z3 u
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';3 O% }; b" q$ b( A* e
5、在logging.php中作如下修改:
- T6 T$ y. V& W5 m; s, Z查找 showmessage('login_succeed', dreferer());
( v  a7 L  @  x) J  g) l在它上面加 $sessionupdated=0;
6 Z9 t: D# j6 F5 \7 F/ a
1 }* L. G  Y; f- M: v1 [; E. c6、程序问题
6 u2 O. z& j/ z; i2 l
; m" [5 m- B6 ^5 b一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。; {! m& W+ W2 d9 V+ F6 P* v, w
这时候,将程序的报错打开即可发现问题。  Z% D) r- n& V" ?1 o
做法一:将 config.inc.php 中的 $errorreport 的值设置为 28 x9 b" u6 _; }3 M* D
做法二:打开 include/common.inc.php 找到 error_reporting(0);
; r+ A. N6 r+ r3 _) J3 z+ L  z修改为 error_reporting(7);7 M0 o. z, x: A5 u, K
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
2 D9 k# |6 }7 g% c& n! N) b解决方法:修改目录名为字母或数字格式就行了.1 U/ f6 _2 [+ u/ B
  H+ k' K" {6 F1 g) F  w
表现二:部分人登录不了(找个人原因)
  O5 M5 Z1 C* e1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
7 N9 \4 Z6 a9 }' T' B2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;% I: E4 K, |! w' }1 c5 a  M
3、个人机器没有打开 cookies- E+ f( r7 E% `  j; f
首先查询自己所使用的IE版本。
% M9 H! e6 H! k  j2 d+ c打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标( s, O( G) n2 S$ l9 v

/ B* o( {* E* u$ o% ^) E# l题下第一行,就是有关版本信息。一般是,5.0或6.0。
( O1 H$ ]9 S/ g5 r. G2 V8 b3 E- P) S6 M+ ?) g
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
, w; a; a, @1 y9 f1 k3 F1 V! P. j9 t- ?5 E! P' g5 C
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
* k  ?# k8 O; h" D
" D/ X0 G, Q! u- L9 w隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
& P* o- j5 Q$ x+ V0 F9 e- h! [/ ]! q. ]+ w) K: q6 N
覆盖自动cookie处理 (Override automatic cookie handling)0 @6 c0 O( [! j
' r4 E$ _8 @- U( r
第一方cookie:接受 (First-party cookies: Accept)
- S9 K# i4 f5 a+ s+ E
" P" Z6 k1 g1 F/ C8 A3 d0 x第三方cookie:接受 (Third-party cookies: Accept)8 \) B1 R1 j& _. I

; r, S7 l2 F8 p, W; b总是允许会话cookie (Always allow session cookies)
9 k2 O2 J# b. b- c2 `" q& z
7 U* I) o  J6 d+ o; s7 O点击按钮"确定"(OK),关闭cookie设置窗口
$ }/ C7 n# i# c. a. v7 t# D& N% |$ n/ M4 I4 ]$ E
点击按钮"确定"(OK),关闭Internet 选项设置窗口
# o# Y: C7 F+ p7 H5 A* H1 H; _
1 t; \0 ]( H/ \5 ^% T% K- i+ i3 G. B; D# _
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:' A3 m  P2 n7 i6 b$ ^- L& X7 N+ X+ b
) S( B; z5 A8 G: G$ e+ @" Y
点击菜单条上的"工具"(Tool)( g1 m( H6 q% Q- {- l; H# g3 x

; Q1 t5 K0 A0 p6 G% f3 ?在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
& R% z% J6 k4 O6 _  R  G7 B
* p* I# M8 |7 x& W在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。9 u/ K) Z1 A0 E. t

' Q8 `# i- O# {) n0 y4 E+ e在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)! g8 _3 B- {0 u1 |/ I8 D
3 O% b! y1 }9 K  }4 J2 t: j' i
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
/ }0 q5 `7 T' H, w% |2 E# w8 W! `) B& G
允许使用存储在您计算机上的cookie:启用
3 i( f: c9 E- m# b2 }" r3 Y0 o" s: b6 n1 e
. w) ~3 ], Y9 h" R允许使用每个对话cookie(未存储):启用( z' |2 y0 w0 p* F9 ]- {8 ?
$ ]: N- O0 P2 m8 m$ F) |7 }5 W
2 C' I) _* f" X1 i, i# K  ?
点击按钮"确定"(OK),关闭安全设置窗口$ d7 j! l9 P. m0 d! b

8 i$ L. B7 V( a; B& E' S# @( ?点击按钮"确定"(OK),关闭Internet 选项设置窗口8 s2 \5 ~* c- X: o5 L
- e) I/ m- Z" T/ Q5 A

' ?7 y$ V# Q; n5 B3 C表现三:后台提示登录成功但是始终跳回登录口* z/ R6 n: \2 C' J3 }; n9 b! J9 p9 C4 k
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的) Z) R0 ~7 T; |& u. c' v/ u$ w5 }
9 F# A! {$ ^$ r6 \3 N( m( W
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 03 R( o$ e0 Y" ~3 b! S
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。  X6 h: m! K, K( N* V

+ ]* M0 s8 u: H0 ~) s+ Z6 Z2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。/ E: H3 V0 V, b) t( _8 g* d
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
3 {7 {+ y( `! \# U# X5 N然后到后台的数据库校验,校验后修复一下其他表即可.
+ s+ X0 O! b" M& x9 D: }6 f2 g6 @  ~. K! e


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

1 t. g& F! h& I0 v6 g3 Ediscuz设置允许版主生成文章/发布文章的方法
' Y- F2 t% U" i- u- \  _: j
' w: A! O3 Q' q- @' j管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是
7 C5 h  D. T+ L! S* g以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
# P; T, Y# _* c+ Y7 Z2 l: c& s4 L2 a3 B' k! l- n+ y9 G; }& u
管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是+ b  {1 `0 t7 w6 t
设置完,更新缓存。
, {" a' x5 i5 Q6 j; r: f这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。: }! v7 v- Q& p
6 ?: H4 M# _5 n( B+ n% r

8 k7 x5 t% K& ]如果不想自动转化为HTML, 第二步就不用设置。; O0 p7 W. A6 j

3 Z1 y1 e6 @( U
) s! V$ Z# P- b: S, @2 I. f问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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