我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP安全配置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP安全配置

PHP.ini安全配置

PHP.ini作用:

用来控制php的某些功能 某些功能比如:错误提示,短标签,上传文件最大值,扩展等等可以通过php.ini文件设置 根据个人的要求让它们进行打开或者关闭。

安全配置:

(1)打开php的安全模式

php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键字文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:

safe_mode = On

(2)用户组安全

当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同组的用户也能够对文件进行访问。而且相同组的用户也能够对文件进行访问。

建议设置为:

safe_mode_gid = Off

如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要对文件进行操作的时候。

(3)安全模式下执行程序主目录

如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:

safe_mode_exec_dir = /var/www/html

一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,可以指向一个目录:然后把需要执行的程序拷贝过去,比如:

safe_mode_exec_dir = /var/www/html

但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:

safe_mode_exec_dir = /var/www/html

(4)安全模式下包含文件

如果要在安全模式下包含某些公共文件,那么就修改一下选项:

safe_mode_include_dir = /var/www/html

其实一般php脚本中包含文件都是在程序自己已经写好了,这个可以根据具体需要设置。

(5)控制php脚本能访问的目录

使用open_basedir选项能够控制PHP脚本只能访问指定的目录,这样能够避免PHP脚本访问不应该访问的文件,一定程序上显示了phpshell的危害,我们一般可以设置为只能访问网站目录:

open_basedir = /var/www/html

(6)关闭危险函数

如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全还是考虑进去。比如,我们觉得不希望执行包括system()等在内的执行明了的php函数,或者能够查看php信息的phpinfo()等函数,那么我们就可以禁止它们:

disable_functions
= system, passthru, exec, shell_exec, popen, phpinfo, escapeshellarg,
escapeshellcmd, proc_close, proc_open, dl

如果你要禁止任何文件和目录的操作,那么可以关闭很多文件操作

disable_functions
= chdir, chroot, dir, getcwd, opendir, readdir, scandir, fopen, unlink,
delete, copy, mkdir, rmdir, rename, file, file_get_contents, fputs,
fwrite, chgrp,chmod, chown

以上只是列了部分比较常用的文件处理函数,你也可以把上面执行命令函数和这个函数结合,就能给抵制大部分的phpshell了。

(7)关闭php版本信息在http头中的泄露

我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息泄露在http头中:

expose_php = Off

比如黑客在 telnet www.girlcoding.com:80 的时候,那么将无法看到PHP的信息

(8)关闭注册全局变量

在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:

register_globals =Off

当然,如果这样设置了,那么获取对应变量的时候就要采取合理方式,比如获取GET提交的变量var,那么就要用$_GET[‘var’]来进行获取,这个php程序员要注意。

(9)打开magic_quotes_gpc来防止SQL注入

SQL注入是非常危险的问题,小则网站后台被入侵,重则整个服务器沦陷,所以一定要小心。php.ini中有一个设置:

magic_quotes_gpc = Off

这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把’转为\’等,这对防止sql注入有很大作用,所以我们推荐设置为:

magic_quotes_gpc = On

有次程序在本地的上传不好用了,但在服务器上好使~也可能是继承了discuz的核心文件造成的,获取路径出现了问题,后来打开这个参数,问题解决了。

(10)错误信息控制

一般php在没有连接到数据库或者其他情况下会有错误提示,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以一般服务器建议禁止错误提示:

display_errors = Off

如果你确实要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息:

error_reporting = E_WARNING & E_ERROR

当然,我还是建议关闭错误提示。

(11)错误日志

建议在关闭display_errors后能够把是错误信息记录下来,便于查找服务器运行的原因:

log_errors = On

同时也要设置错误日志存放的目录,建议根apache的日志存在一起:

error_log = /usr/local/apache2/logs/php_error.log

来源地址:https://blog.csdn.net/m0_58033230/article/details/126471002

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP安全配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2023-09-05

PHP 服务器配置的安全检查

php 服务器安全检查包括以下步骤:检查 php 版本是否为最新版本。禁用不必要的模块,例如 allow_url_fopen。配置日志记录以记录服务器活动。限制对上传目录的访问以防止恶意文件上传。限制文件上传大小以避免服务器资源耗尽和拒绝服
PHP 服务器配置的安全检查
2024-05-01

CentOS 6的安全配置

本篇内容主要讲解“CentOS 6的安全配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CentOS 6的安全配置”吧!一、系统安全记录文件操作系统内部的记录文件是检测是否有网络入侵的重要线索
2023-06-10

pg数据库安全配置

数据库安全配置是数据库管理的重要环节之一。安全配置主要包括密码、网络访问控制、审计等。下面会依次讲解在瀚高数据库中如何实现密码相关的安全性配置。1 密码加密存储pg中密码始终以加密方式存储在系统目录中。ENCREPED 关键字没有任何效果, 但被接受向后兼容。
pg数据库安全配置
2018-10-05

安装配置Jboss完全篇

1、 Jboss的配置安装1.1、 Jboss的下载Jboss的下载地址为:http://www.jboss.org/。目前的最新版本是:Jboss2.2.1。建议你下载Jboss2.2.1和tomcat3.2.1集成的下载包,这样避免了单
2023-06-03

安全框架Shiro怎么配置

这篇文章主要介绍“安全框架Shiro怎么配置”,在日常操作中,相信很多人在安全框架Shiro怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”安全框架Shiro怎么配置”的疑惑有所帮助!接下来,请跟着小编
2023-06-26

webservice安全策略怎么配置

Web服务安全策略的配置应该包括以下几个方面:1. 认证和授权:配置Web服务的认证和授权机制,确保只有授权用户可以访问服务。2. 传输加密:使用SSL/TLS等协议对Web服务进行传输加密,保护数据在传输过程中不被窃取或篡改。3. 输入验
2023-06-13

centos安全加固怎么配置

要对CentOS进行安全加固配置,可以按照以下步骤进行:更新系统:首先确保系统已经升级到最新版本,使用以下命令进行系统更新:sudo yum update安装必要的软件:安装一些常用的软件,如防火墙和强密码策略工具:sudo yum i
2023-10-25

云服务器安全组配置

登录云服务器控制台,并在左侧导航栏中选择“安全”选项。在“安全组”页面中,选择要添加安全组的服务器列表。在“选择组”页面中,选择要添加的安全组。单击“创建组”按钮,在弹出的对话框中输入组名称。在“组名称”文本框中输入组名称,并单击“确定”按钮。在“组密码”文本框中输入组密码,并单击“确定”按钮。在“安全组
2023-10-27

Linux下怎么安全配置apache

这篇文章主要介绍“Linux下怎么安全配置apache”,在日常操作中,相信很多人在Linux下怎么安全配置apache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么安全配置apache”的疑
2023-06-27

安装配置Jboss完全篇 (转)

安装配置Jboss完全篇 (转)[@more@] 安装配置jboss完全篇1、 Jboss的配置安装1.1、 Jboss的下载Jboss的下载地址为:http://www.jboss.org/。目前的最新版本是:Jboss2.2.1。
2023-06-03

Linux MySQL的安全配置检查

安全配置检查是确保Linux MySQL数据库系统的安全性和稳定性的重要步骤。以下是一些常见的安全配置检查项:禁用远程root登录:在MySQL配置文件中(通常是/etc/my.cnf或/etc/mysql/my.cnf),将skip-ne
Linux MySQL的安全配置检查
2024-08-16

php如何安装配置curl

这篇文章主要介绍了php如何安装配置curl,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先将PHP安装目录下的php_curl.dll、libeay32.dll和ssle
2023-06-14

Maven安装与配置及Idea配置Maven的全过程

Maven是一个项目管理工具,可以对Java项目进行自动化的构建和依赖管理,下面这篇文章主要给大家介绍了关于Maven安装与配置及Idea配置Maven的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2023-02-10

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录