参考答案

1、打开php的安全模式

 php的安全模式是个非常重要的php内嵌的安全机制,能够控制一些php中的函数执行,比如system(),同时把被很多文件操作的函数进行了权限控制。
默认关闭,338行
safe_mode = Off
改为
safe_mode = On

2、用户组安全

; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
; http://php.net/safe-mode-gid
safe_mode_gid = Off  # php5.3.27默认关闭

3、关闭危险函数

当打开安全模式,函数禁止可以不做,但为了双重保险还是做。比如不执行system()能执行系统命令的函数,或能查看php信息的phpinfo()等函数。方法如下
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

4、关闭php版本号

php版本号会在http的head里显示
expose_php = On
改为
expose_php = Off

5、关闭注册全局变量

register_globals = Off  # 默认关闭,不要打开

6、打开magic_quotes_gpc防止SQL注入

magic_quotes_gpc = Off
改为
magic_quotes_gpc = On

7、错误信息控制

 一般php在没有连接到数据库或者其他情况下会有错误提示,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息在生产环境是不允许的,应禁止。想要错误信息,应该导入日志。
display_errors = Off (默认值,不是改为off)显示错误级别
error_reporting = E_WARNING & E_ERROR

8、错误日志

log_errors = On
log_errors_max_len = 1024   # Set maximum length of log_errors.
error_log = /app/logs/php_errors.log  # 注意写权限

9、资源参数限制优化

# 设置每个脚本运行的最长时间,当无法上传较大的文件或者后台备份数据经常超时,需调整下面参数,单位秒。
max_execution_time = 30
# 每个脚本使用的最大内存
memory_limit = 128M
# 每个脚本等待输入数据最长时间
max_input_time = 60
# 上传文件的最大许可
upload_max_filesize = 2M

10、安全参数优化

# 禁止打开远程地址
allow_url_fopen = On
改为
allow_url_fopen = Off
# 防止Nginx文件类型错误解析漏洞
cgi.fix_pathinfo=0

备注

今天是每日一题陪伴大家的第108天期待你的进步

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引

http://lidao.blog.51cto.com/3388056/1914205

转载于:https://blog.51cto.com/lidao/1953307

老男孩教育每日一题-第108天-php-fpm优化关闭危险参数有哪些?相关推荐

  1. 老男孩教育每日一题第120天-如何统计脚本执行的时间?

    老男孩教育每日一题第120天-如何统计脚本执行的时间? [root@myblog ~]# cat 123.sh sleep 10 echo 123 [root@myblog ~]# time sh 1 ...

  2. 老男孩教育每日一题-第81天- IDC 机房带宽突然从平时 100M 增加到 400M,请你分析问题所在并解决...

    [提出问题] [实际案例一] 凌晨3:00点某公司(网站业务)的一个IDC机房带宽流量突然从平时高峰期150M猛增至1000M,如下图: 该故障的影响:直接导致数百台服务器无法连接,该机房全部业务中断 ...

  3. ​老男孩教育每日一题-第105天-Linux如何设置每天凌晨三点重启nginx服务

    解答: 假定nginx的安装目录为/application/nginx/sbin/nginx [root@oldboyedu ~]# crontab -e# Timed restart nginx b ...

  4. 老男孩教育每日一题-2017年4月28日- MySQL主从复制常见故障及解决方法?

    MySQL主从复制常见故障及解决方法? 1.1.1故障1:从库数据与主库冲突 show slave status; 报错:且show slave status\G Slave_I/O_Running: ...

  5. 老男孩教育每日一题-第86天-nfs客户端挂载信息写入/etc/fstab中,系统重启,没有自动挂载是什么原因?...

    具体情况如下 客户端挂载: mount -t nfs 10.0.0.101:/data /mnt 查看: [root@centos69 ~]# df -h Filesystem Size Used A ...

  6. 老男孩教育每日一题-2017-04-25:怎样产生一个子shell?

    1.在父shell中执行一个shell脚本,可以产生一个子shell 测试环境: 定义一个变量并输出 [dongzhi@iZ23eyxc0p2Z ~]$ STR=123 [dongzhi@iZ23ey ...

  7. 老男孩教育每日一题-124天:当我们使用ssh-keygen命令的时候,如何一键非交互生产密钥对呢?...

    当我们使用ssh-keygen命令的时候,需要输入3次回车,才能创建密钥对,如何一键非交互生产密钥对呢? 答案: 方法一: ssh-keygen -f ~/.ssh/id_rsa -q -N '' 方 ...

  8. 老男孩教育每日一题-第75天-linux无法上网或联网怎么办?

    参考答案 1.ping百度或一个网址-检查是否为dns问题 ping www.baidu.com 2.出现Couldn't resolve host 或 unkown host 错误 没有办法把域名解 ...

  9. Leetcode每日一题:108.convert-sorted-array-to-binary-search-tree(有序数组转成BST)

    思路:避开树的中序遍历等,这道题可以使用普通的解法,每次从中间开始递归连接相应结点 class Solution {public:TreeNode* sortedArrayToBST(vector&l ...

最新文章

  1. 2019 GDCPC or HDU6540 树形dp[计数dp] 详解
  2. 使用线程池时一定要注意的五个点
  3. SNMP功能开发简介 三 使用DEBUGMSG打印指定的信息
  4. Linux环境变量的修改(永久,暂时)
  5. 方立勋_30天掌握JavaWeb_div和css基础
  6. 微信小程序隐藏滚动条的方法,以及禁止上下滑动的方法
  7. web.xml.jsf_面向初学者的JSF 2.0教程
  8. Dotnetcore或owin程序启用SSL的方法
  9. 股市三大定律是什么?
  10. 老司机带你用 Go 语言实现 MapReduce 框架
  11. Linux安装Nexus3
  12. web开发规范 - html书写规范
  13. java广告投放系统_广告投放系统
  14. Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用
  15. Linux与Windows设置共享文件夹的实现
  16. Gitee创建仓库拉人
  17. Dubbo负载均衡策略之最小活跃策略
  18. git 仓库分支多文件夹管理
  19. txt电子书如何用Windows电脑阅读?
  20. Android gif 动画

热门文章

  1. ListView使用技巧-更新中
  2. centos 调整home分区xfs_Linux中对lvm逻辑卷分区大小的调整教程(针对xfs与ext4不同文件系统)...
  3. mantelhean.test r语言_请教如何将mantel test报告性的结果转化为表格。
  4. oracle中col 的用法,Oracle All
  5. 5个很常用的CSS3网页小实例
  6. 用localStorage实现登录时记住密码的功能
  7. html实现ppt缩放效果,Powerpoint 2016缩放功能详解(附案例)
  8. 初二计算机辅导记录,(初中信息技术兴趣小组活动记录.doc
  9. pythonpop方法桐柏到郑州大_python脚本之一键移动自定格式文件方法实例
  10. Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat