PHP安全配置
2015-10-10 11:06
330 查看
一、禁用危险函数
l 查看PHP配置文档位置 /usr/local/php/bin/php -i |head #找到Configuration File (php.ini) Path => /usr/local/php/etc 表示配置文件在此目录的php.ini
l 修改配置文件 vim /usr/local/php/etc/php.ini #找到disable_functions处,加入一下内容:
disable_functions =
eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close
二、开启PHP错误日志
l 修改php.ini,找到display_errors = off 修改成display_errors = On #表示当在浏览器访问错误网页,会显示错误日志。一般不使用这种方法l 常用方法: 修改php.ini,找到log_errors = Off 修改成log_errors = On
找到error_log = XXXXX/php_errors.log 修改成绝对路径error_log = /usr/local/php/logs/php_errors.log #前提此路径有此文件才生效,否则该文件不会自动生成,没有则手动创建,权限修改为777找到/error_reporting 加上/error_reporting = E_ALL & ~E_NOTICEl 重新加载apache服务,graceful表示重载配置/usr/local/apache2/bin/apachectl graceful
三、 配置open_basedir(安全配置)
l 修改php.in文件,找到open_basedir 修改为open_basedir = /data/www/:/目录2/:目录3/#表示只允许访问此目录,其他目录无法访问
l 修改虚拟主机配置文件httpd-vhosts.conf 在<VirtualHost *:80>里面加入:
php_admin_value open_basedir = “/data/www/:/目录2/:目录3/”
#点1以及点2效果同等,一个是全局一个是某个虚拟主机
四、打开慢查询日志,记录超过1秒的查询
vim /etc/my.conf 在[mysqld] 模块下面的其他模块(不是在mysqld模块的里面)加入一下代码:
log_slow_queries = /var/log/mysql_slow_queries.loglong_query_time = 1 #记录超过1秒的语句开启短标签 控制参数: short_open_tag = On
本文出自 “linux小记” 博客,请务必保留此出处http://lstulinux.blog.51cto.com/3938932/1701473
l 查看PHP配置文档位置 /usr/local/php/bin/php -i |head #找到Configuration File (php.ini) Path => /usr/local/php/etc 表示配置文件在此目录的php.ini
l 修改配置文件 vim /usr/local/php/etc/php.ini #找到disable_functions处,加入一下内容:
disable_functions =
eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close
二、开启PHP错误日志
l 修改php.ini,找到display_errors = off 修改成display_errors = On #表示当在浏览器访问错误网页,会显示错误日志。一般不使用这种方法l 常用方法: 修改php.ini,找到log_errors = Off 修改成log_errors = On
找到error_log = XXXXX/php_errors.log 修改成绝对路径error_log = /usr/local/php/logs/php_errors.log #前提此路径有此文件才生效,否则该文件不会自动生成,没有则手动创建,权限修改为777找到/error_reporting 加上/error_reporting = E_ALL & ~E_NOTICEl 重新加载apache服务,graceful表示重载配置/usr/local/apache2/bin/apachectl graceful
三、 配置open_basedir(安全配置)
l 修改php.in文件,找到open_basedir 修改为open_basedir = /data/www/:/目录2/:目录3/#表示只允许访问此目录,其他目录无法访问
l 修改虚拟主机配置文件httpd-vhosts.conf 在<VirtualHost *:80>里面加入:
php_admin_value open_basedir = “/data/www/:/目录2/:目录3/”
#点1以及点2效果同等,一个是全局一个是某个虚拟主机
四、打开慢查询日志,记录超过1秒的查询
vim /etc/my.conf 在[mysqld] 模块下面的其他模块(不是在mysqld模块的里面)加入一下代码:
log_slow_queries = /var/log/mysql_slow_queries.loglong_query_time = 1 #记录超过1秒的语句开启短标签 控制参数: short_open_tag = On
本文出自 “linux小记” 博客,请务必保留此出处http://lstulinux.blog.51cto.com/3938932/1701473
相关文章推荐
- NFS、FTP、SAMBA服务搭建
- PHP获取当前页面完整URL地址
- 使用PHP 搭建自己的MVC框架
- 在 Ubuntu 中,关于 tftp 服务器的实现
- Tftp服务器_NFS服务器_Samba服务
- UBOOT TFTP下载程序配置
- 使用Eclipsephp工具打开Thinkphp为什么会有红色的波浪线报警?
- Thinkphp子查询问题总结
- _stprintf_s和_stscanf_s
- php中new一个类对象的两种写法
- php类成员变量的两种定义方法
- 学习ThinkPHP-1
- TP3.1.3 中的volist分页时怎样实现$i自动增加
- PHP知识点系列之一:面向对象基础
- 解决PHP里大量数据循环时内存耗尽的方法
- PHP的serialize序列化数据以及JSON格式化数据分析
- PHP中JSON的应用技巧
- PHP中Session和Cookie是如何操作的
- PHP内存使用情况如何获取
- ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法 原创