开启左侧

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

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

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

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

x
表现一:所有的人都登录不了0 \4 m' j: P7 T9 X4 |
1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,; {+ c# C7 ~; A+ h
比如你用http://www.zgwxbbs.com访问,那你就设定成9 z2 |7 V6 {! C% T; u4 l
.zgwxbbs.com 即可。/ M0 |' O) Z/ k* x! J) Z, m
. a+ w& P, b! K9 v& _5 q9 e( v
2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌)
7 W7 V; x2 l4 L  v. k4 U& R有些人因为不小心删除了 {eval updatesession();} 而出问题" A6 z) A7 {* H
解决方法:
! T4 ]4 w1 Y/ f, \* d打开 footer.htm( M  J/ e% r) p. x- u: }8 y
查找 eval( S8 d+ m+ Q0 C% d
看看有没有 {eval updatesession();} 和 {eval output();}! \, [% }2 G! t
如果没有 {eval updatesession();}4 A3 ~" Z2 |: w$ ?8 g
请查找 <!--{if debuginfo()}-->
& l  y- e0 i0 J) A3 N" _( `在上面添加 {eval updatesession();}( @+ l! S" F% ~" G# T
如果没有 {eval output();}
% y3 d# |' b, T- ]2 R# e,请在最后添加.<!--{eval output();}-->2 V7 f' }8 g. Q" k3 D" Z

1 `7 N  n( S- N: t) P* @' H, {0 y2 @3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。  ]5 v( z6 @6 ?+ Z  u. P9 X
" h( f1 `4 ~7 R1 W$ b0 t8 R- E" m$ @
4、防止论坛自动跳转后退出; V; o3 p5 e, C& t7 P  Q
- y6 R6 K8 X+ g3 N( j
在 logging.php 中作如下修改:: ^# a* p# ~: P2 k; z" T
找到 showmessage('login_succeed', dreferer());
' r2 p4 x4 {# O% l" ]在它上面添加一行:
0 P- V, m) v+ O; J7 P0 y4 ^if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';
! ~0 }8 s2 M; W5、在logging.php中作如下修改:
9 t4 h- T. y) L& u! e/ r查找 showmessage('login_succeed', dreferer());' s* ~6 d5 C+ d! F" I& K) C
在它上面加 $sessionupdated=0;; h' s. N8 Q* Z

1 `- T1 u# S- K; D8 i. X6 R7 v6、程序问题) j4 O8 N# [4 i9 ^$ w% q

' t9 V! `% z  v# s一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。
; j3 L4 Y) U2 I% Y这时候,将程序的报错打开即可发现问题。" y" g9 E9 M1 r! L. d/ M) e& k: e
做法一:将 config.inc.php 中的 $errorreport 的值设置为 2
4 g! W8 e5 n! C% G4 F+ _做法二:打开 include/common.inc.php 找到 error_reporting(0);
# C1 n2 {+ S) u) v7 X修改为 error_reporting(7);
& _$ z# |3 v! l/ ]$ X# Z7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
0 i7 K# J8 q6 e+ S/ x解决方法:修改目录名为字母或数字格式就行了.
( C0 {$ c1 B$ T* p0 W. z& L( l4 W& q8 @$ q1 Z* g
表现二:部分人登录不了(找个人原因)5 X. y# f/ V* z9 ~0 q/ y3 A3 |
1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决.
% A4 S  \& }# T) k$ e% A( D* j( D2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;7 ~4 y: x$ C3 s& S$ e# t
3、个人机器没有打开 cookies
* N5 G' `" e% o! n首先查询自己所使用的IE版本。
* z$ D, |9 g' M  n. A打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标" ~- ^! R; t4 L3 Z1 b* B+ @
, Y! S% \! g; f7 ?, |9 q
题下第一行,就是有关版本信息。一般是,5.0或6.0。7 v5 A5 M! Z6 }. O. h

7 c  _  W% M/ P& }, a# K4 VA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:+ k0 i% R0 |% l" p$ _6 y

% U% R. x8 Y2 K. x) {7 k, ?(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"
$ j) I4 `9 ]; w, Z' P7 u1 r& j2 f- J: R3 |# I. q; m7 R
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:3 d! {5 q% H8 m" }8 N* b& g
" q. _0 S3 k2 \% x, D
覆盖自动cookie处理 (Override automatic cookie handling)
) J/ f8 S1 ^7 l  F- g; `3 {! s3 P3 k* X9 @9 O6 A- @. Q; u+ ]
第一方cookie:接受 (First-party cookies: Accept)! b) \1 o/ x# V0 C/ O1 L

- V+ E! N; b& X第三方cookie:接受 (Third-party cookies: Accept)# R3 T# F  f: k! U5 B

1 ^# A, U/ ^& E/ S5 w1 g总是允许会话cookie (Always allow session cookies); ?5 `" c% H; }
3 s) [" l) j/ c! i7 W
点击按钮"确定"(OK),关闭cookie设置窗口
5 Y0 |( ^# h7 @" G' [4 A4 z% f
( z1 Q- E$ C0 \' Y+ i" u2 f$ I点击按钮"确定"(OK),关闭Internet 选项设置窗口
2 m6 Y9 v; ^( v7 D  F) l7 W2 Q% m4 m% T" K( y; `: K6 v3 }# R
8 P+ c- d- H8 [. a) w) ~5 Q& S
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
. B7 ^$ {' B4 l# A
; v$ K/ ~/ o& D0 u& D点击菜单条上的"工具"(Tool)8 e  m, D* d/ w) t: B! {' V% n. V5 K

) E2 J4 |* P6 |4 Q4 B! h% F在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
& [/ D9 K# a, m6 S: i4 g+ Y# t( h, z, T+ {1 m4 U
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
' Y# \8 \7 n- S8 V9 J9 x- f
" _" t/ U* [: ~$ ]2 E$ O在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
% l3 t- ^' W- v% ]& W1 G0 v
9 b4 X' m& a- z+ ^在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:- D7 a3 q$ b! [0 d7 I- \1 Q' `7 Z

5 p/ i& j# t" Z允许使用存储在您计算机上的cookie:启用
) O5 V. X: Z0 l( ~6 S$ R/ J' K7 h9 F2 d6 U9 n
允许使用每个对话cookie(未存储):启用
% U$ \( r7 Y7 m3 `8 m
4 r; T) f) g) ?' g& H" Y; t/ ?) R+ B( Q$ D+ P7 S3 \7 X( w: \
点击按钮"确定"(OK),关闭安全设置窗口4 y# |. @% E" ^' N- ]1 [

* ~# o* c  Z. c, d, _+ \- g点击按钮"确定"(OK),关闭Internet 选项设置窗口
+ Y5 `- ?2 g2 a2 z7 g3 L
3 M) Q+ A, I2 F1 U  A( ?) @4 k+ m+ A/ r0 i- f
表现三:后台提示登录成功但是始终跳回登录口
5 C  ^4 d1 R9 Y+ j  ?1 Q" v, _1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的
! n  x# C4 j7 B$ W2 y# o! Z
! H  Z" C3 v+ q解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0
5 ~  X. X4 R9 F* X4 D4 M$ G解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。& s  M1 C* p4 e; v: z
$ q$ z( @( R- Q0 S
2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。1 J" {6 r; ^6 O; K% K7 y
解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。) |% b+ E: ~& y* M/ W/ Q4 Z) D
然后到后台的数据库校验,校验后修复一下其他表即可.
5 R! n& ]8 y1 J& V, q嗯,不错表现一:所有的人都登录不了
$ T3 L+ R4 I( }) J% v& h/ U1、检查 config.inc.php 中 $cookiedomain 的设置,把它改成.加上级域名,' V6 R* a% Z0 u; a
比如你用http://www.zgwxbbs.com访问,那你就设定成
* ^4 B0 {3 N% R. V. e6 J" l! q.zgwxbbs.com 即可。& o  o- k  m, k  d

! Q$ f5 e' s- B+ X5 |& x5 ]+ e2、注意你的 footer 模板,尽量不要随便删除里面的东西(修改版权者切忌); ^  L4 G& c% E7 q
有些人因为不小心删除了 {eval updatesession();} 而出问题
! a; U, f( q& n, o( E解决方法:
# ?% `8 y1 i/ Q# l2 S% I打开 footer.htm
& X8 [; c1 I" u5 e( c3 _2 O5 `1 k查找 eval) m& c& N1 Z% s: T0 P
看看有没有 {eval updatesession();} 和 {eval output();}  H$ X# g6 Y! z6 j# @( w
如果没有 {eval updatesession();}: U" [3 j& \) A# P
请查找 <!--{if debuginfo()}-->
& ~7 B& D7 Y" O5 z2 n) t- t( ~在上面添加 {eval updatesession();}+ c7 G& z+ d3 O: l1 v$ V
如果没有 {eval output();}$ c6 c. l) p; @- ]) ?
,请在最后添加.0 F: ^. `5 M0 [' j
- y1 \+ s) t7 N1 l  [9 f
3、论坛服务器时间和本地时间相差太大了。你把服务器的时间调整一下。6 j1 p& y3 _1 |2 J% ^

3 O/ {* e  W1 R; s0 f! g; {4、防止论坛自动跳转后退出6 s, x  L6 c; k  H

8 N1 v3 U5 n. w6 x在 logging.php 中作如下修改:& M* X9 E( t) Z5 [
找到 showmessage('login_succeed', dreferer());
+ X0 e0 J, x  p) F3 @0 G5 V' l在它上面添加一行:; K- q7 e2 E( j, f, E3 F8 R3 W
if (strstr(strtolower($referer), 'logging.php')) $referer='index.php';( T( a/ `+ x. z, t
5、在logging.php中作如下修改:: d/ s0 M1 U; [! o' S
查找 showmessage('login_succeed', dreferer());
/ K5 ?8 x% V) l5 F; D/ I% F在它上面加 $sessionupdated=0;- j* S; q5 X3 c6 U

* ~6 f5 z8 T' K8 C6、程序问题, a+ N/ _1 L" S- z
) ^! _  c0 i: w: d8 \
一般情况下是因为,页面上有错误,导致程序由于在设置 cookies 之前有输出使得 cookies 设置不成功。4 ~8 ?8 u, f$ R- j
这时候,将程序的报错打开即可发现问题。
9 G7 e* d& B  z' Z- X做法一:将 config.inc.php 中的 $errorreport 的值设置为 2! M0 l0 O* \0 w3 F1 T! E2 O2 z2 u
做法二:打开 include/common.inc.php 找到 error_reporting(0);
' A" V; N* h, I$ c/ Q! |& w修改为 error_reporting(7);
) ^& U" E! s) f( N6 ]7.论坛目录使用了特殊字符,如 _ 等,访问地址被浏览器转换成 % 加 16 进制编码的格式了,这时不能正常登录.
2 r/ x1 U" u3 s, g6 Q) Y解决方法:修改目录名为字母或数字格式就行了.
" R( Q% @) h+ W- Y& R/ E, d% a: L
6 o; g# W6 ^- q& H- X表现二:部分人登录不了(找个人原因)
# x$ e; L$ F( m% Y$ M1、有可能同一域名下的 Cookies 相互影响所致.如果您使用 IE 浏览器,可在 Internet 选项中的 常规 页面点击删除 Cookies.登录问题即可解决./ J+ _+ \& o# }
2、cookies 已经写满,这种情况下,只要清除 cookies 就可登陆;
: D4 Y- b, {+ \* E" x3、个人机器没有打开 cookies/ c+ y6 ?5 x* s. b2 L. T
首先查询自己所使用的IE版本。  C6 y7 p! W% q2 ^$ c$ ]' i4 x
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标
. g. ]8 Y! a! v9 l. @+ I/ h* u
9 |' G' h7 |0 t题下第一行,就是有关版本信息。一般是,5.0或6.0。
$ m# m, t' m& d( W. E
+ B& r/ L% x7 |% s$ PA. 如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:3 o* l1 Q2 v6 J. q! C
/ M4 q8 |3 L6 W3 K. _
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个": k* ~) o2 z& a( r
+ a  E7 u# V) B& l9 d2 u* A! s
隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
% N* p" T& a# r2 t0 T% n3 g0 j3 U# |2 W$ m" R9 Q$ W
覆盖自动cookie处理 (Override automatic cookie handling)0 J( [! D% Z3 |; Q; s- e" K
. x6 u! I& _/ d) V; e. }" Q: {9 ]
第一方cookie:接受 (First-party cookies: Accept)
4 h1 K' m* r; F- }* K, [' N& y1 H# D) w/ V
第三方cookie:接受 (Third-party cookies: Accept)
, \" s% E4 O* C& v7 A' M4 v) O. W5 R2 M
总是允许会话cookie (Always allow session cookies), b: t! z  E$ B  t+ N6 b; {0 z
, g( @+ D7 X9 |$ C. x7 a" q
点击按钮"确定"(OK),关闭cookie设置窗口) \6 c  i% h! c/ i

% B  l! j2 N# R) f* {点击按钮"确定"(OK),关闭Internet 选项设置窗口
* m7 n& E5 v6 v- L
, w! J9 m! T6 |( `' K' u( I# V- A4 m1 f( ^$ I' {
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
5 d9 I. ^- Q9 Q5 n% f1 o5 ~0 I
4 ^5 r' ?* o8 [. G9 W点击菜单条上的"工具"(Tool)$ b- W& P" o) K. ^; K' G+ r9 P
& J( W+ K( A' o0 h) a+ Y; p
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
0 _# ^5 w' A. L& H; k3 ]$ P# Z3 R& m! ?5 y5 @% j% n* B, d; \. ^- D/ |
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。7 ?4 E6 V- F5 n. B7 h( a

8 i/ }4 K; r$ V' q5 m在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)0 Q$ j7 a' j9 Q. K% Z& C4 t7 {6 e

8 [" R2 H: G  f在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
9 E% a* Z0 b& [6 D' V0 o
9 a  M. J5 m. y/ N& {0 e允许使用存储在您计算机上的cookie:启用9 ]% }/ W6 M! D% j: X8 J' f

9 S3 K2 m7 J, d$ c允许使用每个对话cookie(未存储):启用- J9 a; i) M" W8 @% p# D$ o4 X4 ]
! n! I( Z1 ^$ h+ h
# S9 m: d0 ]: d
点击按钮"确定"(OK),关闭安全设置窗口
! w$ n! z. B% w6 j# ?' u# A! E
0 E1 c7 w# \6 Z% a7 a8 a点击按钮"确定"(OK),关闭Internet 选项设置窗口
% e  G+ N4 K& F: ?4 p# C' K, |3 X: {* l7 A# M( v

7 p) I8 k% P6 x8 D* g5 \表现三:后台提示登录成功但是始终跳回登录口
3 W' |  l- o: E* z1、管理员使用的网络 IP 不停地更换,后台 IP 校验通过不了造成的( z5 I" p8 [$ M% ~1 R& Z$ `) T3 F4 W

7 s# G0 K7 f+ w% \解决方法一:用文本编辑器(如记事本)打开 config.inc.php , 将 $admincp['checkip'] 设置为 0  K- K, l( N; V. T4 G
解决方法二:使用一固定 IP 的代理来访问论坛和论坛的后台。
* s$ ]2 c/ ?7 G" I0 ^2 a
& b, h! J4 S; s/ V4 l3 i2、数据库由于迁移或者是等等原因,造成数据库的字段变短,后台登录不了。
+ s: a6 H# M& r- a/ ]解决方法:使用 phpmyadmin 或其它数据库管理工具查看 cdb_adminsessions 表的 ip 字段长度变成了 7 改成 15 就可以去登录了。* D$ L% ]1 @- C, u/ S6 {
然后到后台的数据库校验,校验后修复一下其他表即可.
/ Y, T' i# s0 a' g3 O) Q9 _
8 G' Z8 d7 J5 |' R. B2 [( g: \" M

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-46002-1-1.html 谢谢
沙发
发表于 2017-4-2 14:22 | 只看该作者
. B% I1 S5 v9 g9 j' o0 m! @: `
discuz设置允许版主生成文章/发布文章的方法
) s& U, L% c$ L+ M& T" X' p% X; E
管理员进入后台,用户,管理组,版主,基本设置,门户相关,发布文章-是6 u* x+ y+ u# {2 G' k' u! {
以上设置后,在帖子上方的管理项中,会出现“生成文章”,但生成不一定会成功,还需要配置以下权限。
  R* _3 d* U% l3 G. ]! x
# D- e, k: ^3 M/ n管理员进入后台,用户,管理组,版主,管理权限,其他权限,允许生成HTML文件-是: R; {$ X7 O( k' p$ F" P
设置完,更新缓存。2 J* ~: J  F) h6 n0 W- ^2 t
这样就可以直接发布静态文章,同时也能把动态帖子生成静态html文件了。  p( j8 L  Z& S

, s+ H& A6 g6 p* _+ z. Y% @1 z, T7 h
如果不想自动转化为HTML, 第二步就不用设置。
( H6 b: |$ \3 X% ]& [- q3 ~6 C4 q& ~( k; @% M2 X& i( V+ j+ r

) R9 v4 ]$ l5 q' N, F: |4 s问题点:门户html页不显示登录状态(已经登录的显示退出,其实没有)

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

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

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

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