Linux下PHP网站安全加固配置详细过程

2018.04.09 江门网站建设

173

PHP安全配置:
1、 disable_functions=passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,phpinfo #禁用的函数
2、
expose_php=off #避免暴露PHP信息
3、
display_errors=off #关闭错误信息提示
4、
register_globals=off #关闭全局变量
5、
enable_dl=off #不允许调用dl
6、
allow_url_include=off #避免远程调用文件
7、
session.cookie_httponly=1 #http only开启
8、
upload_tmp_dir=/tmp #明确定义upload目录
9、
open_basedir=http://www.bubuko.com/:/tmp:/home/wwwroot/ #限制用户访问的目录

open_basedir参数详解

open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号"."来代表当前目录。注意用open_basedir指定的限制实际上是前缀,而不是目录名。

举例来说: 若"open_basedir=/home/wwwroot", 那么目录"/home/wwwroot"和"/home/wwwroot1"都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。

MySQL安全设置:


确保运行MySQL的用户为一般用户,如mysql,注意存放数据目录权限为mysql。

vi /etc/my.cnf
user=mysql

开启mysql二进制日志,在误删除数据的情况下,可以通过二进制日志恢复到某个时间点

vi /etc/my.cnf
log_bin=mysql-bin
expire_logs_days=7

认证和授权

禁止root账号从网络访问数据库,root账号只允许来自本地主机的登陆。
mysql>grant all privileges on . to ‘root‘@localhost identified by ‘password‘ with grant option;<br/%

最新案例