一、日志相关
1.error_log
■ 显示PHP调试日志,但显示在网页不安全,需要重定向到日志文件中
___________________________________________________________
[root@Web_server ~]# mkdir /usr/local/php/logs [root@Web_server ~]# touch /usr/local/php/logs/error.log [root@Web_server ~]# chmod 777 /usr/local/php/logs/error.log [root@Web_server ~]# vim /usr/local/php/etc/php.ini #搜索display_errors关键字 display_errors = off log_errors=on error_log=/usr/local/php/logs/error.log
二、安全优化
1.禁用危险函数
■ PHP中有一些危险函数,如exec,shell_exec都是在php中执行shell命令的
___________________________________________________________
[root@Web_server ~]# vim /usr/local/php/etc/php.ini #搜索disable_functions关键字 disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
2.配置open_basedir
■ 把执行PHP的用户限定在指定的路径下,这样通过权限缩小的方式达到安全目的
___________________________________________________________
[root@Web_server ~]# vim /usr/local/php/etc/php.ini #open_basedir搜索关键字 open_basedir = /dir/:dir2
■ 除了在php.ini中定义open_basedir外,还可以在httpd.conf中定义,因为apache可能有多个站点,针对不同的站点限定不同的open_basedir
___________________________________________________________
[root@Web_server ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf php_admin_value open_basedir "/data/www/"
三、其他
3.PHP添加扩展模块
■ 把执行PHP的用户限定在指定的路径下,这样通过权限缩小的方式达到安全目的
___________________________________________________________
[root@Web_server src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop [root@Web_server src]# mv develop phpredis-develop.zip [root@Web_server src]# unzip phpredis-develop.zip [root@Web_server src]# cd phpredis-develop [root@Web_server phpredis-develop]# /usr/local/php/bin/phpize [root@Web_server phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@Web_server phpredis-develop]# make && make install [root@Web_server phpredis-develop]# mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/redis.so /usr/lib64/ [root@Web_server phpredis-develop]# vim /usr/local/php/etc/php.ini #所否关键字extension_dir,取消注释,并添加extension=redis.so extension_dir = "/usr/lib64/" extension=redis.so [root@Web_server phpredis-develop]# /usr/local/php/bin/php -m | grep redis redis
本文出自 “抚琴煮酒” 博客,请务必保留此出处http://szk5043.blog.51cto.com/8456440/1761331
原文地址:http://szk5043.blog.51cto.com/8456440/1761331