开启左侧

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

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

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

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

x
表现一:所有的人都登录不了! e! H! W) s( q0 E' P
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
  E0 b% F# W5 E$ n比如你用http://www.zgwxbbs.com访问,那你就设定成& ]3 k7 e: o  K5 Y7 e7 n7 F: f  d
.zgwxbbs.com 即可。, W0 j8 ?- w8 F4 d1 P

$ y8 m0 m! y& J: H9 |4 Y2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
) t% \% h/ v% g% n9 ^有些人因为不小心删除了 {eval updatesession();} 而出问题
/ l5 P/ ?7 E' }2 e; ~) T解决方法:& a* q5 C2 I* f5 \8 b$ x+ T/ y2 s' E
打开 footer.htm: {2 ^5 h6 F( B6 |: }
查找 eval
" J; V$ }3 A) ~+ K& ?; Z0 ]看看有没有 {eval updatesession();} 和 {eval output();}
; b7 `1 R5 P1 u2 @4 ~7 M( E如果没有 {eval updatesession();}9 V* J! z+ ]- u$ E8 B
请查找 <!--{if debuginfo()}-->/ {6 K, R  I* H' ?* o8 O' J
在上面添加 {eval updatesession();}) m# i7 \0 x8 o
如果没有 {eval output();}
( a# g0 W) q  J! B,请在最后添加.<!--{eval output();}-->
+ a6 O4 }+ o' E5 h6 a
; O; {& H2 x  a* B3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。3 f1 v( W) N+ P3 V! `5 }

; i8 M, r3 O4 S7 _4、防止论坛自动跳转后退出
4 k8 T; _: y/ V7 s* ~2 Y5 j& l/ d) V! N
在 logging.php 中作如下修改:
- u: X% m% }+ _1 U# K8 b- K找到 showmessage('login_succeed', dreferer());+ U' F, M+ {1 e$ T% G/ L% e
在它上面添加一行:9 B: V# \. O4 b# Q- Z
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
+ a- F, ~+ I( F0 S" i8 a5、在logging.php中作如下修改:
5 \  ~3 N* x# v5 e- i查找 showmessage('login_succeed', dreferer());
. N1 Z4 y( B" }( Z, l+ A& b/ Z在它上面加 $sessionupdated=0;
& b0 {$ P5 U+ P  q& y9 j
# F' z5 o8 p  c" J, B6、程序问题6 ~( s5 N. ^# d* H- t; @# ~+ ?4 F
: b+ X# g4 Q: ?% ?+ B4 h
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
. ~, h# ^2 [. ?2 Z; u  T这时候,将程序的报错打开即可发现问题。( {* ^* A0 X0 V- ~1 f6 b- k
做法一:将 config.inc.php 中的 $errorreport 的值设置为 21 a/ ^- n3 c7 z8 m" B- w8 ~; E) B8 q
做法二:打开 include/common.inc.php 找到 error_reporting(0);
! e; A9 p, s; t9 s# g$ X6 e% ~修改为 error_reporting(7);
0 A9 p: Y7 D( N& K* k& x7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
/ k9 L  y) o* \解决方法:修改目录名为字母或数字格式就行了.6 Z0 l  r  M! _3 W$ T

9 m& z" a2 |! I表现二:部分人登录不了(找个人原因)
; _. L, B# w/ E: e" c- \1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.1 Y; U0 p' z1 {
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
; F- [+ u+ g9 r; a) C% I% ?  M3、个人机器没有打开 cookies% i0 w- b) @5 v" D) d
首先查询自己所使用的IE版本。* v1 w+ d4 d& q% u7 \& p5 b
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标: L/ V- h6 U3 C4 a5 l% W
# p7 i& D+ t$ r1 x% i" ~
题下第一行,就是有关版本信息。一般是,5.0或6.0。" x6 U6 O$ |# u# {  o2 [* d
7 T" S; C( O9 @# k5 i- I
A. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:/ y7 z) N) |% @; s6 Z: I

8 h- x; i5 m5 f4 \(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"7 e( o& h% Y+ Z, i/ x

5 B2 x7 L6 s" l* {, P& f/ ?2 Q隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
9 d$ ~% j: O9 r5 X, ~
6 x- w2 O; U# H- u覆盖自动cookie处理 (Override automatic cookie handling). m8 h& s' ]; ~+ ?1 U' C% M* ?
% p& A& ^! C! d1 Q' j9 W4 m/ s/ [
第一方cookie:接受 (First-party cookies: Accept)1 l7 V' F% F) \
# h# E8 c3 @' |: x
第三方cookie:接受 (Third-party cookies: Accept)
  H; E2 D$ q" T% c7 f
: a8 V$ L+ s! I* `; o总是允许会话cookie (Always allow session cookies)' B! T; K8 H; k1 J1 C6 s

" s; T9 Q0 _; [点击按钮"确定"(OK),关闭cookie设置窗口* r, X" z3 N2 Q% V
# u) k/ N: m) ~: S4 @8 P
点击按钮"确定"(OK),关闭Internet 选项设置窗口
+ t$ Z) q7 m7 U& J
* V# v3 y. Z3 N( y. K( {
+ O2 u1 s- s: r  ]6 e/ i) r" O2 c5 S+ TB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:4 w( o# L: s' L
1 n0 ], ^  I/ o* _9 S& H
点击菜单条上的"工具"(Tool)
& H  i  K8 h. M7 t$ P+ ]
4 K- z0 s+ M$ _# ]7 ^9 }; s7 }% ~在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
/ r0 d1 P& q! u$ P. x# A# \( Q3 Q( n& W- x( R  ^4 H
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。3 ^, w* a7 |: m

5 Z; z( s3 M! r( }2 u在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)8 s3 o4 ]) y  \0 o# [" v  e* ?
/ L/ E+ g9 o( }
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:. h- m3 {, M) T; [5 |/ L. }$ ^

# u" e1 B8 U4 k$ U" k3 ]' R允许使用存储在您计算机上的cookie:启用, K% ^2 B" {7 E, Y! \+ N
+ @0 u: A/ U  C) D
允许使用每个对话cookie(未存储):启用
. Q0 `  ^( P( r4 {3 L! D+ c
! g% o  B0 d* [4 b8 A
9 }. I) l$ c8 W, n& U点击按钮"确定"(OK),关闭安全设置窗口
6 `5 G6 K8 m& a/ S+ f* d) J) b3 G2 l9 D* z) q( s" g  o
点击按钮"确定"(OK),关闭Internet 选项设置窗口! i. H7 K0 Y; A
/ }2 D& _" J. C; `

/ [" ]- {; a1 L- Q5 T0 d/ p表现三:后台提示登录成功但是始终跳回登录口
' g, a' W. W* D1 x& ^9 P1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的7 K! w: l# ~1 _

: g3 C. g8 @5 H解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
) N1 X2 Z3 m( K8 l* r+ T. b解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。4 w9 @2 i0 c$ \/ _8 w
1 y, t: x0 C; {3 K4 P
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。' p, Y9 M" G- v9 k6 j# o1 v2 w
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
& W/ v+ \) b: f4 t/ a7 y然后到后台的数据库校验,校验后修复一下其他表即可.
$ C6 [- l7 s! H, l" e& ^嗯,不错表现一:所有的人都登录不了
1 t+ h/ g; r. B1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,7 X0 A' C5 h2 o: G& J
比如你用http://www.zgwxbbs.com访问,那你就设定成
9 E% B, E! u' Z+ x' e, t.zgwxbbs.com 即可。
7 u" `' ]8 K2 r' O* K8 N
+ D; z2 W% \" z7 S: Z, j- f2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)) |* v+ r# H: L8 _7 w
有些人因为不小心删除了 {eval updatesession();} 而出问题' e! c, p0 M; V
解决方法:; U) l$ G/ r$ w9 j
打开 footer.htm0 t2 p; |$ ^5 _& |: X6 S* h! ?
查找 eval
% E# S( {: T2 x/ O' U9 f' i看看有没有 {eval updatesession();} 和 {eval output();}3 k4 L* q8 l# h; Q
如果没有 {eval updatesession();}1 A2 L6 L( {9 y3 b# U, t
请查找 <!--{if debuginfo()}-->3 Z: I/ V5 n# \6 X# r1 W4 K
在上面添加 {eval updatesession();}  F1 g% [) [$ x" P+ X. H5 w+ P+ c
如果没有 {eval output();}
: z) u+ ~9 c7 B9 P6 o9 z% e( P,请在最后添加.0 a) n: |7 H6 M; g: l, q

$ G  k. }2 h/ w, R0 |3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
7 J6 M$ E$ W2 g' n9 _2 i5 U
3 q' ?  O6 A: ^6 r6 C. J. j4、防止论坛自动跳转后退出
) J2 U/ b4 k4 l# V
8 s- ~7 m0 l( n2 i5 f9 C在 logging.php 中作如下修改:
2 {1 M# M5 Q- B' N" W7 r找到 showmessage('login_succeed', dreferer());6 X% |( Z) S7 j" u' l5 j
在它上面添加一行:
. f& W# M2 x/ a: s. ]4 ~if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
1 ]' [4 s( Q0 e- M5、在logging.php中作如下修改:8 a: ~$ a7 Y4 E8 E3 ^
查找 showmessage('login_succeed', dreferer());( E- E$ [3 ^* I! E. F6 Q  B5 _! y, }) S, V
在它上面加 $sessionupdated=0;
; M% B8 h6 p; K; W. S- O5 p# K
: i, O% Z- j+ o& h3 Q7 g6、程序问题/ L5 C0 s/ M, G' |  J, ?: i* X' ?
5 D% p$ F  T8 |/ x4 B3 q3 b: i
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。( s% |8 l& b3 D. X! ]6 i& K
这时候,将程序的报错打开即可发现问题。
3 Y; Q% i% m5 t3 i' n! @做法一:将 config.inc.php 中的 $errorreport 的值设置为 2- [4 b, q3 y5 p1 w* m: x6 z  S1 r& A
做法二:打开 include/common.inc.php 找到 error_reporting(0);
( k) \+ P6 C6 E8 J5 s, ?修改为 error_reporting(7);
% u! r9 o7 `  S8 w7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
  S; B% o5 B# N( e4 t- ^解决方法:修改目录名为字母或数字格式就行了.) O  D/ r) r. w1 \2 }

! |+ k# n! b! D. P- C8 ?- j表现二:部分人登录不了(找个人原因). y2 i9 Y/ f4 W$ x8 x
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.2 [6 U6 @5 F( w
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
6 R/ s, i3 k- y" f, a  G% t3、个人机器没有打开 cookies
  i6 M7 L9 p0 T5 d8 l4 V7 X$ q首先查询自己所使用的IE版本。, W) P9 t+ w5 e
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标2 W# Q" U/ U3 e' ?5 e* Z# a

2 [. g1 _( i4 F2 K1 J& Y题下第一行,就是有关版本信息。一般是,5.0或6.0。2 r6 O& L! F" E* l

' O4 j. j+ h# L. h) a/ IA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:# A" x3 n* Q& M

7 s9 K- w2 x! ?  s- r(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个") C2 E4 S3 A3 ]* p5 A# e

3 g1 I& A0 `* K& H  v: l+ v6 M. }隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:$ ?: ]" e1 c) Z/ d3 e! w; e
5 j3 B4 F: Y! c- t: l/ S/ I
覆盖自动cookie处理 (Override automatic cookie handling)  L- ]$ \6 L- C6 g! ^

3 j+ ?) p. \, Z: s% R2 @第一方cookie:接受 (First-party cookies: Accept)) l" z0 Z3 w+ x

( V& m7 A3 @& A* H( L第三方cookie:接受 (Third-party cookies: Accept)) W8 i- Q. q$ j! K# n5 n
" o0 I" \0 z# U8 W# `3 I
总是允许会话cookie (Always allow session cookies)! C( s5 n2 v2 N/ t; t0 H

( z2 `* |: H/ c! h7 S' m9 C点击按钮"确定"(OK),关闭cookie设置窗口
- a& i, n9 q0 q8 T7 U3 r" L9 i) |$ M! Q4 \' t; m. P
点击按钮"确定"(OK),关闭Internet 选项设置窗口. v' i- B2 ]! Y) }- s  U/ R

8 q# j. B  J) }5 \( }$ w0 k+ v2 \3 a! ^7 J
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
& ?# |1 Z( i3 o, R) E& n  t( _
' E; B( U$ J) W1 X0 c3 C" \点击菜单条上的"工具"(Tool)7 P+ K" C3 I- f- b
7 F; _+ e5 F: i' z, K$ @" ?' U
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
5 g8 A* L& W; h; o+ n; u3 N1 L+ i1 T/ q- _' r
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
3 q3 B0 n4 l- O% b/ a6 t2 R8 A: C% M4 n
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
/ L& _% d: Y5 E6 |* W. [$ ]; R) c& u/ t5 M
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
: m( Y0 ]: b$ }1 P( T
! }! K. X! V4 s; N, T允许使用存储在您计算机上的cookie:启用
  j1 |! [+ _8 M
# ^+ U3 x0 n- z$ F: Z6 T6 I允许使用每个对话cookie(未存储):启用6 l! n4 s- B4 E  C$ O, c8 Y* b
. G5 e$ |: Q  O: Z' g9 E
+ C. _; H8 p, f* {( T3 t
点击按钮"确定"(OK),关闭安全设置窗口$ L" N6 K  \2 b# V7 o4 q3 E

" j6 X6 j% d& [点击按钮"确定"(OK),关闭Internet 选项设置窗口7 G5 X$ d4 o( \/ s
2 Z+ k9 B" |& F- W6 ]" G' y

( \% j* g& A7 ?6 g' [表现三:后台提示登录成功但是始终跳回登录口' _0 d# ?' v9 z9 I1 F( f5 y5 z
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
* O  d# Q3 k) U/ R+ M
" H& Z. R3 K- f% v1 z1 J+ `解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
/ Q+ e8 H+ L5 i# B7 y5 x解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。7 m) J8 G, F4 o' W) p( ^, ~

- {) V% b* R  M/ r: M6 r2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
8 N( d& q4 z# K2 Y% c解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。
( a$ y% H& K/ X' ?& C8 X1 f! a然后到后台的数据库校验,校验后修复一下其他表即可.
8 J+ [* X9 i' n: e, Q$ r  g( W# @$ w1 R0 A& n7 _


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

! H3 y# f, a4 V$ idiscuz设置允许版主生成文章/发布文章的方法  u- x' Q& ?. {% s( H1 d. h3 {. u

2 B' }" y1 h" r3 E- R  M7 S管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是3 D8 ]& b! o+ m# H0 R. s6 \/ A
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
7 O/ B- J9 k" T( R3 S
1 i' h( l/ A0 N7 x% r2 G管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是& n8 V: l/ c' {  Y
设置完,更新缓存。# W. ~, y2 t0 S5 z
这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。
2 [' n, u! [! I& ]$ C
& p, U7 ~! {& u* j, X5 V: `- V9 i0 F* X' |' ]
如果不想自动转化为HTML, 第二步就不用设置。- M+ I" u( n% z% B

$ S4 j8 y) T0 S4 K
+ ?! U- v1 ~4 D9 Y/ n- z0 `8 G问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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