必威体育Betway必威体育官网
当前位置:首页 > IT技术

网站403的解决办法

时间:2019-08-22 05:44:20来源:IT技术作者:seo实验室小编阅读:89次「手机版」
 

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,这样就解决了

相关阅读

寒假2019培训:跳楼机(洛谷P3403)

跳楼机 题目描述 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步:客户端

戴尔n4030笔记本怎么拆机更换散热风扇?

客户送来一个笔记本,开机10多分钟就关机 ,鲁大师检测温度直接100度,耳朵贴近笔记本风扇,静的是那么不自然,想,肯定是风扇的事情,在淘宝发

分享到:

栏目导航

推荐阅读

热门阅读