技术开发 频道

OpenBSD.Nginx.MySQL.PHP环境搭建手册(v2)

  六、强化PHP的安全

  OpenBSD软件包中的PHP已经自带了suhosin这个补丁,可以在很大程度上提高PHP脚本的安全。本节主要讨论在php.ini文件中进行相关的设置,进一步提升安全性。具体来说,就是禁用某些危险函数和启用PHP安全模式。

  偶一般是把对PHP的所有修改都放在一个单独的文件中进行,包括对PHP参数以及扩展模块的修改,都放在这个文件中一并处理,这样查找、修改和管理会方便许多:

  vi /var/www/conf/php5/addphp.ini

  加入下面的内容:

  ; 禁止动态加载模块

  enable_dl = Off

  ; 隐藏PHP信息

  expose_php = Off

  ; 限定可访问目录

  open_basedir = /var/nginx/html/

  ;设定session暂存目录

  session.save_path=/var/nginx/sesstmp

  ; 设定PHP上传文件的临时目录

  upload_tmp_dir=/var/nginx/tmp

  ; 禁用危险函数(注意下面的内容应该是一行,编排的原因分成了多行)

  disable_functions = phpinfo,com,shell,exec,system,passthru,error_log,

  stream_socket_server,putenv,ini_alter,ini_restore,ini_set,dl,openlog,

  syslog,readlink,symlink,link,leak,fsockopen,pfsockopen,proc_open,

  popepassthru,escapeshellcmd,escapeshellarg,chroot,scandir,chgrp,chown,

  shell_exec,proc_get_status,popen,shmop_close,shmop_delete,shmop_open,

  shmop_read,shmop_size,shmop_write

  ; 启用PHP的安全模式

  ; PHP在安全模式下运行是用性能换安全。据简单测试,性能下降到50%左右,各位请酌情使用

  ; 启用安全模式后,某些程序可能受到影响。例如,Discuz!将无法上传附件

  safe_mode = On

  ; pecl-APC只使用16M的共享内存用以加速PHP程序的运行

  apc.shm_size=16M

  保存退出。

0
相关文章