开启左侧

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

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

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

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

x
表现一:所有的人都登录不了
) _% H, \) d' B6 y1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
8 m* _2 v: v: D4 |" c比如你用http://www.zgwxbbs.com访问,那你就设定成
: c% R5 Q" p* r- v& F0 q.zgwxbbs.com 即可。
. d( ~6 g  e! x* A2 v
0 ^  r% c: T7 u1 M/ H2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)3 }4 x7 W7 X) t* \$ `" E6 J7 j$ v% n
有些人因为不小心删除了 {eval updatesession();} 而出问题
. X- D9 S  h  K9 W' |! O; _解决方法:
0 K6 }; V# i/ f4 f1 m打开 footer.htm
( r) K% l6 S. L6 f( G查找 eval
$ `9 a' b2 W3 f' {9 w看看有没有 {eval updatesession();} 和 {eval output();}
- W( b2 s( k2 g  Z* Z如果没有 {eval updatesession();}$ f' S1 k' |9 M- c2 A
请查找 <!--{if debuginfo()}-->
9 ]! X9 e. K( u  D/ R0 _在上面添加 {eval updatesession();}% C( j$ S% ^' d1 C! R8 T, E% n- V
如果没有 {eval output();}. b; r* `% h) }9 Y$ ~, F1 e  f
,请在最后添加.<!--{eval output();}-->
9 i: f  L, u- b4 }: m7 N. U- t& m' l
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。
( b- P0 I) L9 Y  W$ T7 b% `, o' }. y: o0 {+ _: n
4、防止论坛自动跳转后退出
5 ?, I' \3 Z1 O
  H6 q7 [2 c$ e在 logging.php 中作如下修改:
* R1 }' h" s7 D2 d8 ~  f找到 showmessage('login_succeed', dreferer());
) O& ^( q4 a+ ~4 g7 _- d0 k$ P在它上面添加一行:
3 U; p( `. f+ l6 Z0 D. |if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
. r8 L+ t& @  `9 p5、在logging.php中作如下修改:4 x# I) D- A  P7 z9 y" A
查找 showmessage('login_succeed', dreferer());
- E+ E! G% a3 m在它上面加 $sessionupdated=0;, T  l4 J, \# }+ c- T8 k" U

" Z2 s3 Z+ i0 j) U1 e( c' N6、程序问题% k0 D5 W/ M- H$ h- v1 M

7 h5 y$ [5 _5 s+ L  T; d一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
3 E( F) |$ }: j8 M这时候,将程序的报错打开即可发现问题。
# z) M- b" W5 Q/ |5 a9 S) y4 P  H做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
* a+ N. k& Q0 X; Y7 ^/ m9 b# r8 t做法二:打开 include/common.inc.php 找到 error_reporting(0);5 t% Y6 f& R1 b( C  ?, X
修改为 error_reporting(7);
+ e+ a. x# D# m& Z. s7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.! q2 N7 d1 a% N/ l
解决方法:修改目录名为字母或数字格式就行了.8 Y! O9 |* Z- X" O) c
1 A$ s( f4 }( `& K. G
表现二:部分人登录不了(找个人原因)
# C5 g. [! T9 R- ^' w7 N: Z0 I1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
; u8 H1 z/ w1 C# t2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
; r- }& G1 L2 T$ [+ U) H3、个人机器没有打开 cookies
9 Q$ {. B. I' X& ~. c4 z首先查询自己所使用的IE版本。2 q# O- N7 v* u- c
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
& s( g+ Z2 T: h9 l2 _) o: I
2 N# k2 \- g% K7 O* m* d题下第一行,就是有关版本信息。一般是,5.0或6.0。
6 Z6 _6 P$ ^  E+ z" t9 l" R
) o" _: E8 |* o7 w! I. R8 J; sA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
) o: u3 m5 L8 P; M
2 O5 |( ~' n1 h! d) x) K( f: I(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
3 v3 c  R% `! }' P- T0 Y9 `. \. U
* x& F/ `% R8 f  k! L% i隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:+ Z( F' e% v6 p

# S$ ^; E9 U: {2 Z覆盖自动cookie处理 (Override automatic cookie handling)$ |) t# P2 h# N, Q

, W5 _$ K1 L+ f0 S第一方cookie:接受 (First-party cookies: Accept)3 F7 X9 {; X$ L: g

: e* \; q9 J0 _$ k" d0 A第三方cookie:接受 (Third-party cookies: Accept)
1 R; B: Z, e0 Y, S. B. ?
, c; U3 f  ^" m, B0 ^1 E% M总是允许会话cookie (Always allow session cookies), |- Z6 i* n5 m& T
) j" R; S* q9 q
点击按钮"确定"(OK),关闭cookie设置窗口2 t) W0 N1 H8 M4 M

7 h& R' L( V4 S# p3 A点击按钮"确定"(OK),关闭Internet 选项设置窗口8 w) ?5 i* z8 I4 ?

1 a- O0 O" J' W3 M  H: ^" W  T( X# c/ f& U  J0 ~$ u
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
" ?8 `  f+ o% `( T0 @
( H9 A. y2 ~. a6 q% f点击菜单条上的"工具"(Tool)
. a( }3 \! f, C$ G$ y: t- S
% y' T. ], x" ]8 [, r& ]2 M在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
3 p, T( i0 D( J# ?) B8 c2 m: i9 a5 k/ i% g. \) d8 f" {0 P
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。5 D% u# P6 R" a, b# p1 L
. \% l7 g% ]) k5 k4 g
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
. E7 _+ o, x2 }3 A! t, `8 O% n+ I- o6 j* q; b% M
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:0 P6 u- x6 ^1 t/ @
7 y: m+ M2 A6 ~7 ~
允许使用存储在您计算机上的cookie:启用8 P8 S; ^; B1 \* |
  |, @$ N* X1 l$ S7 \
允许使用每个对话cookie(未存储):启用
( F6 q) S% c8 K$ d8 h+ A; x( }7 _2 {7 Y/ L, k5 W' a  O9 b
1 ]" W) L9 L, p4 v4 o3 F
点击按钮"确定"(OK),关闭安全设置窗口
/ B; F! _7 v3 Q1 q8 }  v) j6 W& y, s+ s. J
点击按钮"确定"(OK),关闭Internet 选项设置窗口
% K$ t4 [+ m: m8 z, I' ~
* L4 i- h% h9 g  \# J# O& U) y+ h( J3 |, E; Z' O( d# H/ ~
表现三:后台提示登录成功但是始终跳回登录口
  f2 B6 ~1 @) }& \$ ~2 D  t1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
' u" p: V, [% p; x
$ z* Y% L! s' d! E" }解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
* D, x8 D3 L6 c- p& Z: j# K解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。4 e) @8 W/ }( D
3 d8 M& o( K0 T! x3 [  j) p) y
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
9 w* b' Z$ o3 R7 s3 R; O解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。: \. m) [1 @! D& N' `$ ^  u! f/ z
然后到后台的数据库校验,校验后修复一下其他表即可.2 n# U3 |7 i: M5 d+ H1 w& s2 j
嗯,不错表现一:所有的人都登录不了1 n$ B  t; m% `, s4 V9 D
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,
7 k9 K7 t# ?9 q5 \3 s0 {7 ]比如你用http://www.zgwxbbs.com访问,那你就设定成+ ~8 O( k! z- X' P+ M( R
.zgwxbbs.com 即可。% p6 k0 n3 Q' W1 Q6 P& P9 x- s

: ]$ h/ v2 z4 r" c& j$ c2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)) {/ @8 r; \# ?/ m
有些人因为不小心删除了 {eval updatesession();} 而出问题
8 r4 h! d- |1 r  t* M& f6 A" v% d解决方法:/ H: J$ b8 A2 ^, e  Z9 M, ?
打开 footer.htm
4 D8 U; n) S4 c# N+ z( m  v) x查找 eval2 A3 m- l& V+ u7 t
看看有没有 {eval updatesession();} 和 {eval output();}( v/ |2 v/ Z" z3 |! d8 q5 u. G& h
如果没有 {eval updatesession();}1 t2 {3 t6 V0 ?) j
请查找 <!--{if debuginfo()}-->
- F/ @3 U  b- e6 F) h在上面添加 {eval updatesession();}& T. S0 ]% P5 s- y. a; K( Y
如果没有 {eval output();}8 @+ X  X' Y, L/ A: B4 R
,请在最后添加.0 }, ]4 _7 b+ V" o- R' T7 k

; w5 o3 W$ W- x/ ?; h+ m3 k3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。$ g- `+ l) p0 @- ^0 |# j' D! F

$ O1 w  J+ B" K. A4 u& O4、防止论坛自动跳转后退出
+ x: s6 k1 d3 ~
! l* _# a$ L" q/ [在 logging.php 中作如下修改:. X" t% }4 y; M, y, X2 u& s; Y
找到 showmessage('login_succeed', dreferer());
1 s+ t& i( b& v" T7 p/ d在它上面添加一行:
1 s- q" W  }# N! J) Fif (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
5 F: _& ^# ]* H3 G0 p9 D5、在logging.php中作如下修改:+ \3 \8 r4 D2 q3 Y
查找 showmessage('login_succeed', dreferer());
2 F- Y/ Y9 d* c( c+ |* S& U在它上面加 $sessionupdated=0;7 R" ~, Q% @5 M: o" R# K8 i! s

& z/ D  ]5 I0 P. O; z* `2 e6 B6、程序问题
  q! z- @. Y9 x; \" [" w0 y; w2 J9 @/ I
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。( R6 y1 C9 B7 m. E1 [* n
这时候,将程序的报错打开即可发现问题。1 s. E% ~9 G, }! t/ I, w4 m; t
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
8 @  U4 N* Z+ v& e) R/ x+ H做法二:打开 include/common.inc.php 找到 error_reporting(0);, E0 E4 G% ^" t7 q5 }
修改为 error_reporting(7);
, E# |0 N- G3 V2 g9 }7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.+ S' ^  P( B1 [. c! C" v
解决方法:修改目录名为字母或数字格式就行了.& p6 d4 w- ^: {2 @  l$ S) I4 ?. i

& q- D" [1 |; }  {9 t$ ?- @7 O$ w* T' ~表现二:部分人登录不了(找个人原因)2 q0 I9 b- P4 Z' e- L9 r$ J, i
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.# {3 _3 N3 m% q  B
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
/ c5 p% g9 b, b+ o3、个人机器没有打开 cookies
, Q! @; m: N( D/ i! t/ g首先查询自己所使用的IE版本。
) B6 f" k! w& }$ Y% S' Q. O# s6 j3 _打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标& _  T+ e% G( M$ x+ K' p
( @1 K0 D0 m( f' Y1 F5 `* i
题下第一行,就是有关版本信息。一般是,5.0或6.0。6 c* d1 X% E& a: x

% x8 J% ^2 R4 V- hA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:
+ W( m$ k& x+ h  w& c
& |. F! `' `: @5 H6 L(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"( y3 Y8 s# B7 c. F, S0 [$ v

7 g; R! c8 R7 P- d隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
+ A2 x' e" `7 A6 H' |4 Q2 J+ D) b  q7 |; ]' m3 w7 C( K) ^5 x
覆盖自动cookie处理 (Override automatic cookie handling)$ L% B' U& b: I, Y  g' @- c

4 P2 ]& j% j. i8 H' K第一方cookie:接受 (First-party cookies: Accept)$ t% `4 s4 g; V: b3 O3 o* |4 i
$ u- S1 r' V" W9 k- V
第三方cookie:接受 (Third-party cookies: Accept)
1 M% Z, [) X, v+ h" d5 r
6 v$ `# N/ f+ H5 B0 w总是允许会话cookie (Always allow session cookies)! |) {) w; b" U0 g6 S8 u
8 p/ Y3 A% l  Q8 Y) D1 _6 l7 N
点击按钮"确定"(OK),关闭cookie设置窗口5 \# @& u0 {( J% r, ~
! {) \6 X8 A% I' A8 |' m% C  H
点击按钮"确定"(OK),关闭Internet 选项设置窗口( T; T* T0 z  |% k  ^5 J

* X( E* I) ~# m1 ^+ c
# \+ g' _/ H1 G+ v, O3 sB.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:( U7 R; z; ?) c( L5 r

7 E' j4 D; N3 _2 u8 p5 k点击菜单条上的"工具"(Tool)
9 [: l2 \* C- q9 q$ N! l0 k3 Y# I, P3 B2 s/ X8 Q* \
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
  N3 ]  V/ \  H' }) P! u+ I
5 z+ H' k- V) c在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。) g8 m; }' i: w3 n
+ W5 V  X  \7 X
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)3 o; e% d- w* M' O& _
. x+ k; A+ c% V. a) a) B" B
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:8 X  Q; p; `, @* U/ i/ O

+ v; N2 Q6 l- c; [+ C( {允许使用存储在您计算机上的cookie:启用7 @/ C, H3 U5 B

3 k9 Q; C" d& C" z8 M允许使用每个对话cookie(未存储):启用1 v8 F" C2 }$ W2 ]4 p0 C# V
; \& q: D' K- C  y% |
+ L& U2 ^4 x, f/ u- C" l; M
点击按钮"确定"(OK),关闭安全设置窗口; H0 a; W) P0 ~/ d! e
( R) X: t! P% i- {( ~" G  E4 C
点击按钮"确定"(OK),关闭Internet 选项设置窗口' Y: g& F& D! \
( E: I! ]. u) p1 w

0 j; |# m& V/ U7 q表现三:后台提示登录成功但是始终跳回登录口& t! l5 M) w  r3 C( |! P# q
1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
2 L$ Z9 k, q% q' j4 c* P+ H' z( h  Y0 H1 l  f4 ^) m: b& e$ S8 h
解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0+ Q7 X4 h2 F/ R5 s
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。7 z: D1 h+ ]1 k0 W" b

0 P( C: \- E+ X2 E* W- Q2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
* E2 N. a. b. w* ?* P3 Y解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。8 z: m( C1 ~& C# Y
然后到后台的数据库校验,校验后修复一下其他表即可.2 n5 S$ f/ u+ E' a# t6 z* Z* N
# k' H1 b) T( K8 Q; R4 B, U, G( O


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者
5 p. c$ o9 x% d- v
discuz设置允许版主生成文章/发布文章的方法
9 M5 P) T7 B& j  {) \) W
# s4 e" |' A, L管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是
  {/ E- h! M5 M/ \& V/ O以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
* q7 b+ z7 R( q2 f- m
/ W4 s/ \3 k2 J' W. e4 V) H% l+ m管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是
% Y) ]& c8 t" T" e/ q( U设置完,更新缓存。
6 L; m. W9 k+ Y这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。1 b. p6 d+ z. ?, Y; _/ ]8 x

% a- _" o% C( w3 h% j
8 a! D  w! w$ Q; r# ]如果不想自动转化为HTML, 第二步就不用设置。
6 `0 \3 j. j# q5 R% m* @# w' j# j! f- r  U+ Q9 R
, V, ]5 }* u2 e, N
问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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