开启左侧

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

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

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

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

x
表现一:所有的人都登录不了
1 T( Y. Y4 w, n" q5 Z. `7 E0 P1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,8 `4 j# ?' g7 B  t  G; _
比如你用http://www.zgwxbbs.com访问,那你就设定成
# P9 l, S" a* C5 {; Z! T% X.zgwxbbs.com 即可。
" @2 w7 r: j  ~- o( x1 Z
. {9 T& q+ O1 G% a: V( R4 O2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
% d9 J5 \1 u) V) U) r0 V7 y; \8 i有些人因为不小心删除了 {eval updatesession();} 而出问题
2 ~  c' Q$ w/ Y, u5 ~8 y" l, `解决方法:
# l. W* {+ g- X' B8 G打开 footer.htm
) }; @* Y, \  {2 I查找 eval
0 @5 t! k- @0 y' f, P# F  E! Z看看有没有 {eval updatesession();} 和 {eval output();}
* `% I' U1 J5 k/ I8 }# F如果没有 {eval updatesession();}' N. M3 |6 y+ e4 b# u% O, ^" p
请查找 <!--{if debuginfo()}-->
6 T0 t% Y; w9 Y5 S' m在上面添加 {eval updatesession();}
! o; s2 Z+ v! S8 N+ k3 |; v+ V如果没有 {eval output();}. \4 c* h6 k) B. J* l7 Z
,请在最后添加.<!--{eval output();}-->
4 c! o9 ~4 ]/ Z1 L6 T
0 I5 @3 u; ^' X1 V9 K# f3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
$ l% c) t8 |. Z6 A
  L- u* h. F" @2 y4、防止论坛自动跳转后退出$ w( O: i! U% M1 t; Y" E

4 E5 D# G9 N; y  V$ c在 logging.php 中作如下修改:( W- C- ?$ _5 H2 a
找到 showmessage('login_succeed', dreferer());
( {1 e5 J4 F$ q  y在它上面添加一行:
. M% X* Y# K+ m2 c, Oif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';* z: |% i! `7 k
5、在logging.php中作如下修改:: z! p& K/ E( j  u) D
查找 showmessage('login_succeed', dreferer());2 o+ H( R9 C0 x$ Q* w$ m2 _
在它上面加 $sessionupdated=0;
* b7 Z4 T% y& r$ K  G. h" q6 l& ?
6、程序问题
4 E0 Y$ j. b/ b7 y4 a# f" ?
" l, [% t' `% B% J2 Q一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
. J/ m1 O: K. X. P( ^" [9 x, f这时候,将程序的报错打开即可发现问题。; O1 Z+ Z. r* ?
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2/ q4 ^" z+ |$ Y9 A& x: d! _* K/ a
做法二:打开 include/common.inc.php 找到 error_reporting(0);
- Y+ }0 [; w2 ~修改为 error_reporting(7);
$ z  `0 V$ x. l5 m7 X7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.0 i# V/ f$ d8 a+ g
解决方法:修改目录名为字母或数字格式就行了.% s  X# X% z4 a% i2 w* R3 D: |- d
. {1 e6 Y1 `& l  N6 K' F$ q: |$ t
表现二:部分人登录不了(找个人原因)
" g3 `4 F; d% Z% {, P" o5 B1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.5 K9 [! q( \+ e
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
! W% R8 f$ p: B0 }0 O5 J" |2 r3 d3、个人机器没有打开 cookies
$ k7 a0 P' E0 x8 O( G" O首先查询自己所使用的IE版本。
. a- r6 l$ d) ?8 a8 Q4 S打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标( K6 G7 L3 v% a1 E$ N

9 r! o3 X  U& O8 J* T5 [题下第一行,就是有关版本信息。一般是,5.0或6.0。
) ^: z# E* Z3 v( G! e0 r+ ^/ e- P# c. O0 d, o6 w
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
& b* E) L' }) s& q) W0 k$ a2 h9 u& a; Z( r0 i
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
% c5 D1 `7 {( F4 V% x' k5 `
% I. @+ E( Q7 Z7 F隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
$ @) @6 X% \+ M: L( M& \: h  g) F5 R
覆盖自动cookie处理 (Override automatic cookie handling)' L  B3 o& |' n2 v5 E  w

( w4 _* b% v# T* \5 X第一方cookie:接受 (First-party cookies: Accept)5 p9 A1 z/ _) ~( a
0 \3 M% v; s( ?0 ~% i& ~
第三方cookie:接受 (Third-party cookies: Accept)
& j# U" ~' q, y# a* X# t3 ]) [* R. s) E# d+ W4 M* i* y. s. ~$ Y6 W
总是允许会话cookie (Always allow session cookies)
2 R+ Q! t; P; D. \( ?* J, g5 v+ V! W3 b/ g* K" F
点击按钮"确定"(OK),关闭cookie设置窗口; b; u* [' \* L. \8 z$ k

) @  {. b0 e3 J  K/ \4 D& v点击按钮"确定"(OK),关闭Internet 选项设置窗口2 Z5 _9 ~1 J( s9 R
8 ^2 A4 S* k! ^" l* s& n
1 r8 U( Z3 U$ A: p- C! ?
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:7 Q5 ?, P2 \# [! V

3 h& z8 |4 i% y3 K点击菜单条上的"工具"(Tool)+ x8 k* a5 j3 K& ]/ G

8 ^6 i0 F" c- G( {. s! J- |在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
' _* u8 a* l; T  F4 w* b$ a: i" O% D5 g
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
# C  [2 H- O# I- Y
: L+ }/ [9 E/ v/ T" k在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
# S( o" C' J* N# Z+ C  Q: X& w$ L9 Y  V7 g/ o4 D
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:  ~! F: q& N! D4 A7 l

) g( ~' _$ ^, \7 ], N允许使用存储在您计算机上的cookie:启用# N3 L5 D  k8 p0 v$ C1 Q
7 O/ n% _  {3 a' z4 G4 M3 _
允许使用每个对话cookie(未存储):启用0 p  _0 z* N  h- B( ?6 l
; S% @# C: h( {; r" R
& g$ n, G$ P" e
点击按钮"确定"(OK),关闭安全设置窗口$ y: t5 L  `2 Y
# o' l- O. {4 }
点击按钮"确定"(OK),关闭Internet 选项设置窗口" L: r- L! h  v8 P1 S# _, y

1 ?$ ~$ U  q7 E0 Z; n3 V! i# v- K0 U: }8 V$ W# B& W9 ]3 J- u$ M
表现三:后台提示登录成功但是始终跳回登录口% J: L# R" E% `3 L3 @+ v! P# c
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
* e9 U0 l7 A% p0 R5 o7 V
5 z' }: h- d$ c: d% [  y* b1 H解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0; i8 \) v; W1 h$ F8 N
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
8 ?1 ?3 H. N# r; J0 E: G1 b- j1 ^) c4 f# J' Z
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
& ~& t/ c" z( B+ _4 K解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。8 K5 o' Z: N. X* H
然后到后台的数据库校验,校验后修复一下其他表即可.
0 Y  n6 m, {- w* O5 [嗯,不错表现一:所有的人都登录不了
: O  f% ]% U) W$ a$ b1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
/ B3 R) W% b  [+ D比如你用http://www.zgwxbbs.com访问,那你就设定成5 Q5 |! a% j% k- B0 s
.zgwxbbs.com 即可。7 f. W5 ^: Q1 j$ A/ b/ Q
# R/ ~( s0 z# }- |% g* I3 G" f
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
. o' F" c- v0 I有些人因为不小心删除了 {eval updatesession();} 而出问题( |% }: _1 K7 E
解决方法:$ F7 j$ u1 I8 ?* C+ r2 i
打开 footer.htm
7 l, L# A2 g' S/ q8 c查找 eval; e/ U& b) {* _7 r+ w: K/ y
看看有没有 {eval updatesession();} 和 {eval output();}
0 v/ a; K: r( o如果没有 {eval updatesession();}
" ^: i9 M: I+ E0 s) I请查找 <!--{if debuginfo()}-->: E- j7 X/ P5 x9 ^
在上面添加 {eval updatesession();}
9 v$ g# g% b( Y! R0 \# u如果没有 {eval output();}
' i7 I* [5 u% c+ A,请在最后添加.9 J  p9 l0 }2 q9 |  M
; V% C; {# h/ {4 ~& y! n+ N
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
2 R% b; W, o" Q* L9 I6 k! G3 x- B1 I; z! ?
4、防止论坛自动跳转后退出7 A: m5 A! _: w5 p

1 `9 v* X. u0 a在 logging.php 中作如下修改:- k) [8 J6 o# Q" O( g" m
找到 showmessage('login_succeed', dreferer());5 p4 _' s! q' T. M
在它上面添加一行:
5 Z  u/ K1 s. |& U# @$ sif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';2 S4 S- {# a) j
5、在logging.php中作如下修改:) f9 I6 l$ i& O
查找 showmessage('login_succeed', dreferer());
. f% n7 E4 p# l7 b  y4 k. W在它上面加 $sessionupdated=0;% o: i0 E0 v: Y) A5 c0 F" G4 ?
3 t; O. p" m& `% x
6、程序问题# H" L" L' [) @# {9 T
( M0 X7 w' u9 |% }! L* S4 R9 ~& p
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。) d# p: x5 n6 s. G: n; j
这时候,将程序的报错打开即可发现问题。& S' j; z5 G9 R* J' M
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
0 _- w. ?) g. _  p2 `3 y. r做法二:打开 include/common.inc.php 找到 error_reporting(0);
: s; v$ K& W* s! W& j& s$ `3 s3 M& B5 ?修改为 error_reporting(7);" k' g! U, P  U! R& Z5 {* u) e
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
1 }& Z! c) |2 ~4 }7 |& a解决方法:修改目录名为字母或数字格式就行了.; `4 V% P& D$ I7 ?5 a

+ i9 A3 o+ l  i, k% N表现二:部分人登录不了(找个人原因)  @9 Y$ }7 ]2 L2 r' x" E) h
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
& m* U7 {' P* H3 Q2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;' Z% K& h" A5 N& Y( Q/ t) k
3、个人机器没有打开 cookies/ d" U+ D8 H# ^4 f8 I4 ?
首先查询自己所使用的IE版本。
( G" Z  B4 e$ a5 I打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
8 B9 m9 T% f) o7 @# @. u  h/ v4 W+ l' ~! m5 U- F5 L$ D
题下第一行,就是有关版本信息。一般是,5.0或6.0。
+ [! L( J. p0 Y/ X, B) k! g; p, I. P  s0 S& }0 ^  f! c* k/ b: w
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:. M6 L0 l# N2 f6 V: k
" z3 @1 k8 o: e8 v6 [- N
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"1 u/ v0 Y; s% b' M1 A6 x; s
# S$ o* n/ w4 x' Y9 U
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
0 r+ q* v9 ^- T1 D* k, v4 d
* a; @0 B$ ?8 A1 H1 X/ P( p4 [覆盖自动cookie处理 (Override automatic cookie handling)1 H- o. m5 j: X
6 I3 I: `: z9 h% ^4 o" r
第一方cookie:接受 (First-party cookies: Accept)
5 h1 c% u0 T% [# [  Q) l9 ~( r2 q* p4 j3 X
第三方cookie:接受 (Third-party cookies: Accept)
' `* N7 J+ U+ `6 S+ l% a3 ~, I
2 L# j  w4 c9 @: n% r6 E# }总是允许会话cookie (Always allow session cookies)
7 n/ I* J7 {+ O$ T3 A; q1 g; t6 W1 f* Z$ o; D, A
点击按钮"确定"(OK),关闭cookie设置窗口9 H% u0 K" i' c* H

) f: C$ Z$ [+ \  ?9 E2 u1 x点击按钮"确定"(OK),关闭Internet 选项设置窗口3 \' d* b1 V: ]

" p# w4 Z3 H" s- u. b
, s, l% S( q- _/ }6 ~B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:, e) u1 }4 N$ m/ c& F- C5 B
; c" [) m7 M$ U$ |! F: U! [. e, W
点击菜单条上的"工具"(Tool)
% w& A: u5 K& e9 `/ a( v$ K0 Z! d/ g7 f9 }
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)9 Q, G' L5 o7 p( b1 r- y
! w% s: @) a- q4 A5 o) N/ `0 j# U
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。8 k7 B; e, y; P! Z1 ]5 ?8 W" H1 q
4 |$ K" |- B' ]) s/ j
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
7 x: F& U; Z4 A$ J. w# x7 v. a# K; q' F3 y' X6 r
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
1 H9 |4 ^3 h# l- s. _7 }! ]2 D
5 X( e" ^# ~  {' q4 Q* L  H1 X! }允许使用存储在您计算机上的cookie:启用
9 N+ a$ B' J6 ?' [1 L0 ~3 j! x( ?: H, n
允许使用每个对话cookie(未存储):启用
. A( {* L% L4 j
7 i, e# b8 T* l1 ]  |; O/ I3 \
. e" j& S/ x8 @  ^8 y& F' S点击按钮"确定"(OK),关闭安全设置窗口
! k  E3 u, w5 F: a8 L" M$ h3 ?% Y* j: @5 g& ?$ i6 W
点击按钮"确定"(OK),关闭Internet 选项设置窗口
7 l. Q& F1 U, O- m: I6 E0 h) e0 Z2 {3 d; c$ u5 Z
2 }2 @) |. u1 z. k$ G
表现三:后台提示登录成功但是始终跳回登录口
5 O7 c! H9 z4 k" V1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的$ F$ j2 N, B  Q9 b( w
# s6 r! L* ]9 e1 l; Q
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0$ l$ }- f- {; z& J. l
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
* ~8 v$ s- R# ^* w5 Y" V5 z+ ?' _. Z  B. N2 e
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。& c% ?1 j1 c8 Q9 i8 {, n' ~+ P9 b
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。$ |! I, F2 V* E( P" Z
然后到后台的数据库校验,校验后修复一下其他表即可.2 l& q( d: ]9 t

/ q- O8 h7 D% ^

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者
' s9 [1 ~+ A/ \$ d! Y- r3 D
discuz设置允许版主生成文章/发布文章的方法4 L4 _# W6 p  H7 ?) ?

7 T6 @- Y2 C$ q( h! ~管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是
/ v6 x7 b+ h% A( I' j以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。+ m0 k, |* X  L+ @' A* z
3 [& N& x+ X; m' P  A+ Y
管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是6 L& Y: w, X  S0 ?2 b& N
设置完,更新缓存。, z6 m+ D- {( f: F4 E6 l
这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。
, B* U  v* A: [0 s, ~  O: c. N9 |+ a  |( ]% S# d% s  Q
! F6 I: Z0 t% m& U) {6 m* @
如果不想自动转化为HTML, 第二步就不用设置。
6 y9 |) ?0 y2 v" \6 g6 Q3 I) F0 V( B8 G
9 M5 ]) J, r0 c2 m4 z
问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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