• LANMP安全配置学习之PHP安全配置


    0x00 前言

    就看PHPWeb的第四章感觉自己对安全配置这块不怎么了解,所以想学习一下
    就先从熟悉点的PHP安全配置开始吧

    0x01 笔记

    1.变量相关配置

    1.1 开启魔术引号

    magic_quotes_gpc = On
    magic_quotes_runtime = Off
    

    1.2 关闭全局变量

    register_globals = Off
    

    当设置为On时,PHP会将$_POST$_GET$_COOKIE$_ENV$_SESSION中的$key=>$value直接注册为变量

    2. 安全模式的配置

    2.1 开启安全模式

    safe_mode = On;
    

    安全模式是一个非常重要的安全机制,能够控制一些PHP中的函数,也不允许对某些关键文件的操作。
    PHP版本>5.3,废弃该特性
    2.2 安全模式下执行程序主目录

    safe_mode_exec_dir = /var/www/html;
    

    system()和其他程序执行函数将拒绝不在此目录的程序。
    必须用/作为目录分隔符
    2.3 禁用类/函数

    disable_classes = ;
    disable_functions = ;
    

    后接多个类/函数时用分隔

    3. 上传文件及目录权限

    3.1 防止文件远程加载漏洞
    如果服务器不需加载远程文件建议关闭此功能。

    allow_url_fopen = Off;
    alow_url_include = Off;
    

    3.2 限制活动目录

    open_basedir=/home/web/html/
    

    4. 回显信息的配置

    4.1 屏蔽PHP版本信息
    php.ini文件中

    expose_php = Off
    

    4.2 关闭错误回显

    display_errors = Off
    

    4.3 设置错误报告级别

    error_reporting = 0;
    

    0不回显错误信息;
    E_ALL/E_STRICT回显所有级别错误信息。
    4.4 错误日志
    php.ini文件中

    log_errors = Off
    

    表示将错误日志是否输出到文件。
    同时,设置错误日志存放的位置,建议和Apache日志存放在一起。

    error_log = D:/usr/apache2/logs/php_error.log
    

    该文件必须允许Apache用户和组具有写的权限。

    log_errors_max_length = 1024
    

    设置错误日志关联信息的最大长度,0表示无限长度。

    5.禁用危险函数

    可使用disable_functions选项禁掉一些危险函数(如下图)。
    在这里插入图片描述

    0x02 参考

    1.i春秋的一个视频,忘了哪位师傅讲的了
    2.《PHP Web安全开发实战》

  • 相关阅读:
    BZOJ_3159_决战
    11.19 ~ 11.25训练计划+总结
    BZOJ_1304_[CQOI2009]叶子的染色_树形DP
    BZOJ_1999_[Noip2007]Core树网的核_单调队列+树形DP
    BZOJ_4033_[HAOI2015]树上染色_树形DP
    BZOJ_5338_ [TJOI2018]xor_可持久化trie
    BZOJ_2957_楼房重建_线段树
    BZOJ_3124_[Sdoi2013]直径_树形DP
    BZOJ_4987_Tree_树形DP
    「JOISC 2019 Day2」两个天线(线段树)
  • 原文地址:https://www.cnblogs.com/0nc3/p/12063459.html
Copyright © 2020-2023  润新知