Chevereto无法登录显示[请求被拒绝,您或者没有权限访问此页面]的解决办法

作者:
前言

作为一篇解决类的文章,这里首先说一下大概的事情经过,方便后来者对照自己的实际情况做出判断

原因就是我重启了服务器…

就是这么简单,然后登录自己的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

然后做完这些,你的服务应该能正常登录了

本文完

the end

免责声明:本文内容均来自互联网,但不代表富忆新闻网的观点和立场.

已有 6685 次赞