开启左侧

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

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

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

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

x
表现一:所有的人都登录不了' R7 P& y( j" e  I( V0 l* |
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,! g3 |# d" L& l
比如你用http://www.zgwxbbs.com访问,那你就设定成
( {) y! t* Y! g.zgwxbbs.com 即可。
/ l5 G. I% [; }  I& h, C( k' G0 m4 O/ V4 Y8 f; x( @9 {% n, X
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
5 m! e4 S: w' u7 a- ^) r; K有些人因为不小心删除了 {eval updatesession();} 而出问题
5 O; k# D- m( g+ [) k解决方法:
4 R( i/ i) N+ N, g9 L打开 footer.htm
/ H  d- F  o% E  _" O; L5 O5 D查找 eval
, O# M: u9 t* [) D/ X# u* V( _看看有没有 {eval updatesession();} 和 {eval output();}! q' W/ ~( _6 I+ J9 T6 g# o
如果没有 {eval updatesession();}' k5 O# h7 B0 |' ^& P" T
请查找 <!--{if debuginfo()}-->9 |* V9 B" ~/ Y& p* O9 O: D2 E
在上面添加 {eval updatesession();}: G3 {+ c: N9 b. C4 K5 P' ?
如果没有 {eval output();}- m) q+ O3 ~2 d+ r8 d. C
,请在最后添加.<!--{eval output();}-->
6 h7 O+ i6 m! k4 a
% @. ?9 K. E& Z3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。: u8 [2 X$ j( \! g, M: W

4 I. x7 t* G/ |; Z7 `) x( @4、防止论坛自动跳转后退出) }2 E! G* n" _1 l+ R
3 B! N5 L  h  z- O' l( [
在 logging.php 中作如下修改:
# ?3 N2 s& F- H7 \找到 showmessage('login_succeed', dreferer());
2 ~, \  f7 Y9 J7 s  P在它上面添加一行:
# O% [2 X: P* }% \+ j4 s8 ?. Kif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
) j: V' M$ B/ {0 [5、在logging.php中作如下修改:
& W9 o' Q9 O5 c3 O& H  ]# U查找 showmessage('login_succeed', dreferer());+ a' t2 Y) e9 ~
在它上面加 $sessionupdated=0;) s' s$ L! `( B9 s( e% g; n

: T. H: E; K7 a# w3 U3 E" H7 x6、程序问题" m6 Y* l6 a' Q# [, N2 ^& k

8 _  V7 n- H% r0 d5 o3 B0 B一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。$ _8 \* d1 K8 h: S" F/ K3 |
这时候,将程序的报错打开即可发现问题。8 _, E9 A5 Y; [; r! b. v
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2- z8 Z) A. X. [- n
做法二:打开 include/common.inc.php 找到 error_reporting(0);3 o5 A8 Z6 Z+ t- }- b( {4 t9 h
修改为 error_reporting(7);. X" p+ r" F# m' L9 d9 Y
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.' c. f8 H2 W9 \9 q. F
解决方法:修改目录名为字母或数字格式就行了.( e8 o, W0 J& |* m
: G3 ]$ u; o, z0 F
表现二:部分人登录不了(找个人原因)6 U/ W9 ^8 R+ I; ^! }9 x1 f
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.0 B) z3 I" Z* X/ \- ^
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;9 y4 R/ n0 ?  |+ v! o7 U* J6 e- R
3、个人机器没有打开 cookies& M1 s" Q# m1 O
首先查询自己所使用的IE版本。- h5 A7 |1 V; W
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
0 j' ^7 C. e2 ]! @- U! G8 g# O
" F$ E+ @6 ^3 V9 q/ x题下第一行,就是有关版本信息。一般是,5.0或6.0。
( w& C' ]! J% U3 B6 Q3 a7 K& h0 ~2 Q3 Z( {
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:4 K' y9 V, ~3 k6 ^1 H
$ C9 B1 f2 Z" d% ]' N
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"9 Q2 x7 @/ q) F7 B& `  C

4 O8 I- b6 \2 ~' u隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:2 g7 ]& y, Q- v7 T3 r2 O

- N9 C) e" d' ?+ U9 z6 O$ J覆盖自动cookie处理 (Override automatic cookie handling), w/ [3 @+ ]) T. E6 w
$ \4 g7 p0 E, j; Z1 q+ V* K" y0 U
第一方cookie:接受 (First-party cookies: Accept)9 q/ ^8 |' t0 G( k2 x9 i

6 \4 A% O4 k2 m9 @9 U! L+ X# o/ R+ ^4 l第三方cookie:接受 (Third-party cookies: Accept)
9 A7 ^) ^9 f0 M, C
  P" v, \0 A7 z' t总是允许会话cookie (Always allow session cookies)
4 ^  Y$ j: i* U2 ?7 M1 Z9 K& d7 r/ p: N; a) K
点击按钮"确定"(OK),关闭cookie设置窗口
/ w, Z" S8 J( L" s/ ?: X8 [0 u
. l2 U$ F) s3 ~# k点击按钮"确定"(OK),关闭Internet 选项设置窗口
5 x: f1 X% V0 C: r% V! P" p
1 p7 {7 M) S7 i- R: I
5 B7 u& P1 _/ S3 l; B$ i$ F5 bB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
: L3 t0 S* \0 f) J
5 r3 `# F6 t* E" V0 K点击菜单条上的"工具"(Tool)
3 [* P5 K7 b- \8 A. }8 T# J
3 I" ~4 B/ n' N) J4 ^在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
: s3 g! G# W* W* l5 H, ]/ s
0 v4 K% s; l, a7 M( K5 g在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
8 Z7 G) z# K* v' J8 O& X. n; p( A) U
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)1 l7 S) L6 ?- ]0 i

; d. @. b4 I3 E2 D; q6 L) O在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:3 O( q9 [) k9 E
- G+ T" ]& |9 b- z) j5 n9 X
允许使用存储在您计算机上的cookie:启用7 Y$ k0 y& E1 k! g, {! d8 `
  h- Q' p* f* h4 N; H  S6 Q- p
允许使用每个对话cookie(未存储):启用
$ x: b: U) q% b3 y: Z  m. k  N2 S) D5 K$ z
2 V4 }; |- U2 f0 l
点击按钮"确定"(OK),关闭安全设置窗口9 V9 A( \0 P; [+ V& i

/ M7 w4 G+ K2 }  R" C( c: q& L1 h点击按钮"确定"(OK),关闭Internet 选项设置窗口
. i' L% D4 ^8 m) \3 a& Q7 n/ O
$ ^* \5 Y4 r6 S8 s4 R  O) F, z1 j; u% v4 i
表现三:后台提示登录成功但是始终跳回登录口
( [; s3 O: m% o* {! w, \, I! A; D) t1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的2 }8 z* s+ \, z4 ^- k
7 z# M. H" E5 |0 R+ w6 s# x# f
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
" U; X1 d9 U) A6 c% t  Q$ ^" X& U解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
- h- }3 r9 t0 g3 E
: f5 B2 E7 ?8 y% d+ J2 M- @' D2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
" c- Y6 t! E- R% s5 N4 u解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
7 |2 X5 s+ b1 `4 m& L* X; h9 ^# j然后到后台的数据库校验,校验后修复一下其他表即可.
$ X& w: B+ l+ @4 \6 W) J+ `. g8 P嗯,不错表现一:所有的人都登录不了
9 @9 C% ?# }1 _1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
$ ^! K7 s6 e8 H1 s: c. g4 [. N5 r. K比如你用http://www.zgwxbbs.com访问,那你就设定成' `8 i4 h& R/ u+ {: C
.zgwxbbs.com 即可。* J( I2 Q& \4 k4 \& `& `
7 U1 `  e8 [1 L4 E/ G6 M- Q
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
# X. ]5 `, `! U* I& ?; |5 a. A: p有些人因为不小心删除了 {eval updatesession();} 而出问题3 X8 {" Q# D; L8 a: S
解决方法:
& A* ^9 x4 @$ G" }8 j打开 footer.htm4 D& d6 |, t& O& U3 u3 o
查找 eval7 \9 Z' t% A2 ~
看看有没有 {eval updatesession();} 和 {eval output();}
3 X2 ^9 W+ O. @6 e. t, v2 b; Q& h如果没有 {eval updatesession();}) K) I( ?; e$ E5 W) a
请查找 <!--{if debuginfo()}-->
3 V1 I: r2 U/ Q9 M6 H在上面添加 {eval updatesession();}
6 M9 m! Q4 J* D如果没有 {eval output();}
  q( `: v- t" i+ X- h$ c,请在最后添加.
8 R7 Q; T, L, {9 q$ X: _) \. T$ d2 L2 D: x9 R& n. _
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。! `' P8 W8 l7 S) }( R) s# U
! \4 j* p. A# s/ W" _
4、防止论坛自动跳转后退出
; ?  ]' J$ ~- _3 f7 f" t8 y; p1 u0 W0 w9 _
在 logging.php 中作如下修改:
6 v1 b) e/ z0 z/ o' Q* R  b2 X找到 showmessage('login_succeed', dreferer());( H7 A) r7 ^1 w+ z% l
在它上面添加一行:
7 E$ J- I$ f0 cif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';" O: K) h* ^- n- J+ y# n
5、在logging.php中作如下修改:
/ [2 L) m  o# J1 l7 f' z9 m查找 showmessage('login_succeed', dreferer());8 |( b( L" I7 F! ]' W' \8 r' U
在它上面加 $sessionupdated=0;
7 p+ r% ~1 C0 k& d+ u7 O: `( O# ^3 W! I, ^& r6 @0 v
6、程序问题
9 B/ F+ P  Z" X" [+ X7 L; o
! I+ J* p% J6 a. j4 p9 `一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。! J  G- V+ I  q& ]& n+ X
这时候,将程序的报错打开即可发现问题。
1 S4 x+ C' i' k) o! N  i# _  T做法一:将 config.inc.php 中的 $errorreport 的值设置为 2! R8 `; z0 X0 x( j+ b. f
做法二:打开 include/common.inc.php 找到 error_reporting(0);1 l5 Q9 I6 y$ Q8 a
修改为 error_reporting(7);" n# R% V2 o- x5 X) r
7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录." z' q2 b' b4 g
解决方法:修改目录名为字母或数字格式就行了.
0 D8 m! t, M& u4 u+ A$ ~5 O0 m* |! ?  t0 ^& ]/ O1 G' @8 z+ W
表现二:部分人登录不了(找个人原因)
: V$ r" c. `* C5 y6 O" P1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
$ j" p0 s. b( b2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
+ n& O1 T: r: k! m$ D3、个人机器没有打开 cookies
4 [2 v, x  @% o! A6 e首先查询自己所使用的IE版本。/ q! v* M4 a  X0 L8 }, z  k* K: U. u
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
7 x+ Z2 S" g, k" g, y
$ ^* s+ l) _% L4 R# u! |, T" A8 B题下第一行,就是有关版本信息。一般是,5.0或6.0。
% G2 X' p# g% ~4 D. \5 J5 i
" D) Y3 Y3 P0 P$ _; u, K& QA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:5 z% X) J% M8 a8 t8 q& q

% b9 x4 }6 _5 |) U7 ~# D- z(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个". v% O8 [8 e4 O2 }

* W6 r0 G/ p1 g+ V2 `隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
# H5 N; n! a7 d! D3 N- M( ]. N6 }4 ?* y0 P
覆盖自动cookie处理 (Override automatic cookie handling)" D0 [* L/ f1 ]

5 [5 j6 F  |, E6 O7 t, ^第一方cookie:接受 (First-party cookies: Accept)  h/ ]" O- t6 M6 }6 f  L& D) x
; f3 g# S9 T1 o/ D  D" i
第三方cookie:接受 (Third-party cookies: Accept); y5 N( ^7 r) S% W( E) `: S# m
2 F3 u" A9 Y3 {
总是允许会话cookie (Always allow session cookies)5 k+ j9 B& {7 b1 o

0 l$ }9 K" p/ e, Z. s7 e点击按钮"确定"(OK),关闭cookie设置窗口
; y- r7 {5 n0 D2 F- m; e3 {! p. I8 M# c/ w$ a% U2 V* @6 Z5 F
点击按钮"确定"(OK),关闭Internet 选项设置窗口
1 B# e  t+ T; u; i2 ~) ?! D2 g' b- ]- x% r6 ?' h) Z1 a

, R2 ?2 ~7 Z1 A8 q& vB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
: m* Z, M) M# z7 O5 d  D! _
" C2 p4 S+ a$ T5 J2 o点击菜单条上的"工具"(Tool)
4 e0 s2 M. M  {0 C! h2 @
" l- b1 V' S$ f. B! ~% J在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)) g: m. m- q( c  U- U
" [' t; w# J+ x' Z  @$ u
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。/ X/ x; l# J% x# B/ l9 K* N2 _
! r. \: J4 {, w4 N7 M' H/ R
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)- D+ o5 N+ O: n, u# X( c

0 l$ n1 F3 @; b4 a) n; H在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
3 G6 X) b5 A4 M
- ?6 Y: \, o+ t* w6 ^; g允许使用存储在您计算机上的cookie:启用
( V+ L9 h! j1 i) a* O9 X( H; }* I( N6 \6 j
允许使用每个对话cookie(未存储):启用& ?8 @5 B+ \" G

- R5 Q0 f' N' K6 p* ?4 ?, P* T  Y# a2 ~0 Y/ J3 L
点击按钮"确定"(OK),关闭安全设置窗口1 I5 ?1 Z0 @: x$ A
' l' ^8 h& ~2 O! @
点击按钮"确定"(OK),关闭Internet 选项设置窗口" t6 E" f' u# Q$ c: F" {! u

3 ~: c" z0 p3 y9 \3 b
+ O* E* I' i3 h) p+ C表现三:后台提示登录成功但是始终跳回登录口
; K+ }* }" M% U; x+ N4 H: @3 M& K1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
4 G7 _. B  U8 E& l! D6 S. V
3 n' Q% p# c6 z/ V) Z/ o- Q# A* |解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
, x' M, O6 v3 \- `( f& E! R7 y解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
: p7 `) M2 u- F# K' V
* S) w, F: P- z* q* u2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。2 _; h/ J+ p1 c
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。! U. L* `' f. R' c4 e
然后到后台的数据库校验,校验后修复一下其他表即可.
( w) B+ v' o! D. ~( N5 n  N) D$ [, n
: I6 X; w% l2 \1 _9 f: R

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

& {- j1 p# B2 O( Pdiscuz设置允许版主生成文章/发布文章的方法) ?! w" p$ u8 }* S8 o
, K# n3 u9 U, D
管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是! i7 e: R% V7 ]3 i- d# L6 n/ t$ F
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
# z/ m$ q! m# b* \6 J9 P. ~; Z) m8 Q+ S) a6 |1 e# Y, ^7 C3 K
管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是
5 G2 A& ~3 x2 n& H' C设置完,更新缓存。
5 H5 L0 o' x. L$ j' P$ \8 I4 ]这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。) L6 g8 [! W0 y! [( ]

% _4 a$ h3 _3 d1 E5 W. c! y$ X1 a7 f; G& e9 c5 b# h( R
如果不想自动转化为HTML, 第二步就不用设置。, s( n: k5 O( Q( ~  [" ?! S

0 z: U+ s- ]2 l1 b5 T. Y' K
! ~8 q5 C* ]/ O* ~+ S) i; Q问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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