常见问题:ECJia到家:到家如何配置网站安全

来自ECJiaWiki
跳到导航 跳到搜索
出现如下情况如何解决?

表不存在.png

当出现如上图所示,很可能是数据表被人恶意删除了,所以咱们要检查下服务器以及网站各方面的安全是否做到位了;

Step1:方法一:我们可以选择禁用env文件的访问. 如何禁止浏览器访问.env文件,保护数据安全

禁用env文件.png

Step2:方法二:我们可以选择不用env文件来配置数据库信息,在content/config/database.php文件里配置

env文件的内容如下所示:

TIMEZONE=Asia/Shanghai
AUTH_KEY=eyw7Tr9A3kLGP1YKMBdz0naoKPsvAGDw

DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=ecjiatest
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=ecjia_

content/config/database.php配置如图所示,按照env里配置的一样,给信息填写进去就可以通过database来访问数据库了:

'connections' => array(

		'mysql' => array(
			'host'      => env('DB_HOST', 'localhost'),
			'driver'    => 'mysql',
			'database'  => env('DB_DATABASE', 'ecjia'),
			'username'  => env('DB_USERNAME', 'ecjia'),
			'password'  => env('DB_PASSWORD', ''),
			'charset'   => 'utf8mb4',
			'collation' => 'utf8mb4_unicode_ci',
			'prefix'    => env('DB_PREFIX', 'ecjia_'),
		    'port'      => env('DB_PORT', 3306),
		    'strict'    => false,
		    'unix_socket'=> env('DB_SOCKET', ''),
		),
	),

Step3:env里还有两个参数是在content/config/system.php里修改的,另外要注意debug开关,用的时候将值改成true,不用的时候改成false调试完就得关闭;

TIMEZONE=Asia/Shanghai
AUTH_KEY=eyw7Tr9A3kLGP1YKMBdz0naoKPsvAGDw
return array(
    /*
     ******************************** 基本配置 ********************************
     */
    //网站时区,Etc/GMT-8 实际表示的是 GMT+8 timezone
    'timezone' 						=> env('TIMEZONE', 'Etc/GMT-8'),
    //网站语言包
    'locale' 						=> env('LOCALE', 'zh_CN'), //zh_CN, en_US, zh_TW
    //是否Gzip压缩后输出
    'gzip' 							=> 0,
    //密钥
    'auth_key' 						=> env('AUTH_KEY', 'UbGuq4G8uqk9yRKHhiRnUbGuq4G8uqk9'),
    'cipher'                        => 'AES-256-CBC',
    //调试开关
    'debug'                         => env('DEBUG', true),
);

Step4:方法三:服务器的一些配置端口,只需要开放80端口,一定切记不要开放3306端口,还有要检查php.ini里的参数display_errors一定要是关闭状态display_errors=off,还有一点就是最最重要的不要在服务器安装phpadmin等其他可视化工具;还有一个温馨小提示哦,服务器一定要做好自动快照;

QQ图片20200310190325.png