403
自己用lnmp一键安装包安装了php的环境。上传了网站代码,也申请了域名,网站也可以通过域名访问了。但是不懂是运气还是啥,服务器宕机了,服务器被人入侵了,账号密码都别人暴力破解了,服务器里啥都没有,还会遭遇这样的不幸。在腾讯云里看了一下木马文件好几百个,没有办法,只能把服务器恢复出厂设置,重新安装一键安装包。又是几个小时过去了,网站终于恢复了。可以睡个安稳觉了。。。。。。几天后,网站打不开了,说是access denied(拒接访问),看了一下具体的东西是原来是403了。没有办法,只能老老实实折腾
1、打开php.ini里ERROR_log 和php-fpm的错误日志 重启php-fpm ,神奇的发现网站又可以了。可是几天后网站又挂了,一看还是403错误
2、打开php日志,发现说"什么没有权限访问,说地址不在open_dir里”,但是我open_dir都是关闭的。
3、top了一下,发现内存突然不行了,于是,立马 df -h 看了一下 ,发现/tmp/文件夹快满了,立即进去看了一下,sess_文件太多,就是session文件太多,还有很多其他的临时文件。于是立马百度了一把。
4、百度说yum安装 yum install tmpwatch ,来定时的清理这些文件,但是发现sess_文件还是不会立马删掉,突然想到是自己代码问题。
5、马上在代码上给session加上过期时间,重构代码逻辑,如下
/**
* Session-设置session值
* 使用方法:$this->getUtil('session')->set('ccccccc', 'dddddd');
* @param string $key key值,可以为单个key值,也可以为数组
* @param string $value value值
* @param int $expire expire
* @return string
*/
public function set($key, $value='', $expire = 1440) {
if (!session_id()) $this->start();
$session_data = array();
if (!is_array($key)) {
$session_data['expire'] = time()+$expire;
$session_data['data'] = $value;
$_SESSION[$key] = $session_data;
} else {
foreach ($key as $k => $v) {
$session_data['expire'] = time()+$expire;
$session_data['data'] = $v;
$_SESSION[$k] = $session_data;
}
}
return true;
}
/**
* Session-获取session值
* 使用方法:$this->getUtil('session')->get('ccccccc');
* @param string $key key值
* @return string
*/
public function get($key) {
if (!session_id()) $this->start();
if ($_SESSION[$key]['expire']>time()) {
return (isset($_SESSION[$key]['data'])) ? $_SESSION[$key]['data'] : NULL;
} else {
$this->del($key);
}
}
/**
* Session-删除session值
* 使用方法:$this->getUtil('session')->del('ccccccc');
* @param string $key key值
* @return string
*/
public function del($key) {
if (!session_id()) $this->start();
if (is_array($key)) {
foreach ($key as $k){
if (isset($_SESSION[$k])) unset($_SESSION[$k]);
}
} else {
if (isset($_SESSION[$key])) unset($_SESSION[$key]);
}
return true;
}
然后也写了一个定时任务来定期清理这些sess文件,ok,这样就解决了
相关阅读
跳楼机 题目描述 Srwudi的家是一幢h层的摩天大楼。由于前来学习的蒟蒻越来越多,srwudi改造了一个跳楼机,使得访客可以更方便的上楼
HTTP错误 403.14 - Forbidden 错误的解决方法
有很多人在用服务器发布网站的时候,一直出现 “HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内
The requested URL could not be retrieved/ TCP_DENI
0: 代理服务器简介 代理服务器是建立在TCP/IP协议应用层上的一种服务软件,是以HTTP协议为基础的。工作过程简单来说分为4步:客户端
客户送来一个笔记本,开机10多分钟就关机 ,鲁大师检测温度直接100度,耳朵贴近笔记本风扇,静的是那么不自然,想,肯定是风扇的事情,在淘宝发