PHP加固
1. 控制访问目录
使用open_basedir选项能够控制PHP脚本只能访问指定的目录。
open_basedir = /usr/www
2. 关闭危险函数
disable_functions = system, passthru, exec, shell_exec, popen, phpinfo, escapeshellarg, escapeshellcmd, proc_close, proc_open, dl
# 如果禁止任何文件和目录的操作,那么可以关闭很多文件操作
disable_functions = chdir, chroot, dir, getcwd, opendir, readdir, scandir, fopen, unlink, delete, copy, mkdir, rmdir, rename, file, file_get_contents, fputs, fwrite, chgrp,chmod, chown unlink, delete, copy, mkdir, rmdir, rename, file, file_get_contents, fputs, fwrite, chgrp,chmod, chown
3. 关闭 PHP 版本信息在 HTTP 头中的泄露
php5.6默认启动,禁用设置为off
expose_php = off
黑客执行telnet <domain> 80
尝试连接服务器时,将无法看到 PHP 的版本信息。
4. 控制错误信息
关闭错误提示
display_errors = Off
只显示警告以上的错误信息
error_reporting = E_WARNING & E_ERROR
5. 记录错误日志
开启功能
log_errors = On
设置错误日志存放目录
error_log = /usr/local/apache/logs/php_error.log
6. 开启http only
session.cookie_httponly = 1
7. 禁止调用dll
enable_dl = off
8. 禁止远程调用文件
allow_url_include = off
9. 部分版本可用
开启安全模式
在配置文件php.ini
中,safe_mode(PHP安全模式在5.4时已不再支持)
safe_mode = on(默认是off状态)
php5.6中有sql.safe_mode
,开启后MySQL和Ingres扩展将忽略提供的主机、用户和密码信息,并将仅使用默认值。启用后在php.ini中配置数据库主机、用户名和密码,php脚本中无需再设置。(sql.safe_mode在php7.2已被移除)
关闭全局变量
将注册全局变量的选项关闭,禁止将所提交的变量注册为全局变量。
register_globals = off
该选项参数在 PHP 5.3 以后版本已被移除
SQL注入防护
magic_quotes_gpc = on
该选项参数在 PHP 5.4.0 以后版本已被移除
标签:PHP,off,safe,mode,file,加固,php From: https://www.cnblogs.com/0dot7/p/16841711.html