前言
作为一篇解决类的文章,这里首先说一下大概的事情经过,方便后来者对照自己的实际情况做出判断
原因就是我重启了服务器…
就是这么简单,然后登录自己的Chevereto图床的时候发现在密码和用户名保证正确的情况下
请求被拒绝
您或者没有权限访问此页面
然后Google了一圈英文圈之后(因为中文圈没有这个的解答)给出下面的解答方式
验证是否为session配置错误
我们首先打开我们自己的Chevereto的网站,然后按F12打开调试工具
之后找到console这个界面之后
输入一下内容
PF.obj.config.auth_token
之后就会出来一串随机的字符串,我们按F5刷新这个页面之后,再次执行
PF.obj.config.auth_token
如果你注意到这两个随机的字符串是不同的话,那么问题就在于你的服务器没有正确处理session,所以如果你这里确定了这个,我们接下来就可以解决这个问题了(因为Chevereto新版本已经加入了CSRF的防范措施)
解决
这里是我们的php没有做好session的处理,也就是我们的php配置有点问题
在这之前,我们先确定你的Chevereto的安装目录下已经用了正确的组和用户权限,如你的中间件是apache的话,组和用户设置应该是是apache:apache,如果是nginx的话,应该为nginx:nginx
注,所有文件都应该为这个组权限
如果你不放心或者不好检查的话可以这样做
apache
chown -R apache:apache /var/www/html
这里假设你的网站安装目录在/var/www/html,如不是,请改成对应的目录
nginx
chown -R nginx:nginx /var/www/html
然后我们修改/etc/php-fpm.d下的www.conf,这里我们的中间件假设为nginx,如果是apache的话,这一步可以打开确认一下
我们打开这个文件
;user = apache
user = nginx
;group = apache
group = nginx
找到这个地方,这里配置文件是用;来做注释的,这里大家清除这一点,因为我们用的nginx,所以这里将user和group都修改为nginx,如果你是apache的话,确认这里的组和用户为apache,然后保存退出
之后重启php-fpm和nginx
systemctl restart php-fpm
systemctl restart nginx
之后我们来到这里
cd /var/lib/php
这里有个文件夹叫session
确保这个文件夹的用户和组为root:nginx,对应的apache以此类推
注:默认这个文件的权限是为root:apache
如果不是的话这样修改
chown :nginx session
然后我们进入session目录
确保这个目录下的session文件都是和你的中间件对应的
chown nginx:nginx *
注:这些文件默认都是apache:apache
然后做完这些,你的服务应该能正常登录了
本文完
本文介绍了解决Chevereto图床登录失败的方法,通过调整服务器的session处理配置及权限设置来解决因session配置错误导致的登录问题。
6899

被折叠的 条评论
为什么被折叠?



