说说php safe_mode
《说说php safe_mode》要点: PHP平安模式就是以平安模式运行php,safe_mode是在php.ini中设置,默认是关闭的. ; Safe Mode; http://php.net/safe-modesafe_mode=Off php的平安模式提供一个基本平安的共享环境,在一个有多个用户帐户存在的php开放的web服务器上. 当一个web服务器上运行的php打开了平安模式,那么一些函数将被完全的禁止,并且会限制一些可用的功能.在平安模式下,一些尝试访问文件系统的函数功能将被限制. 当平安模式打开时,以下函数列表的功能将会受到限制: chdir,move_uploaded_file,chgrp,parse_ini_file,chown,rmdir,copy,rename,fopen,require,highlight_file,show_source,include,symlink,link,touch,mkdir,unlink 同样的,一些php扩展中的函数也将会受到影响.(加载模块:在平安模式下dl函数将被禁止,如果要加载扩展的话,只能修改php.ini中的扩展选项,在php启动的时候加载) safe_mode特性在5.3后不推荐使用,在5.4中删除. 打开或者关闭php的平安模式,在php.ini文件中配置safe_mode选项: safe_mode=On(使用平安模式)safe_mode=Off(关闭平安模式) 相关设置 1. 用户组平安 safe_mode_gid = off 2. 平安模式下执行程序主目录 safe_mode_exec_dir = D:/usr/www 3. 平安模式下包含文件 safe_mode_include_dir = D:/usr/www/include/ 4. 关闭危险函数 disable_functions = system,passthru,exec,shell_exec,popen,phpinfo 5. 关闭PHP版本信息在http头的泄漏 expose_php = Off 6. 关闭注册全局变量 register_globals = Off 7. 打开magic_quotes_gpc来防止SQL注入 magic_quotes_gpc = On 8. 错误信息控制:默认关闭 display_errors = Off 如果要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息: `error_reporting = E_WARNING & E_ERROR 9. 错误日志:如果关闭错误消息,那么就要记录错误日志 log_errors = On 同时也要设置错误日志存放的目录,建议根apache的日志存在一起: error_log = D:/usr/local/apache2/logs/php_error.log 10. 控制php脚本能访问的目录 open_basedir = D:/usr/www 注意:open_basedir并不是safe_mode的一个子功能,PHP官网中明确表示:
即:将 PHP 所能打开的文件限制在指定的目录树,包括文件本身.本指令不受平安模式打开或者关闭的影响. 编程之家培训学院每天发布《说说php safe_mode》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |