Linux系统下配置PHP服务器的技巧

来源 :考试周刊 | 被引量 : 0次 | 上传用户:jinnanwc2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 本文主要介绍在Linux操作系统下PHP网站服务器配置的方法与技巧,从Web服务器安全、PHP本身的安全配置分别介绍配置方法,很好地解决了PHP网站在Linux系统下的应用。
  关键词: Linux操作系统PHP服务器安全配置
  
  一、Web服务器安全
  
  PHP是Web服务器的一个模块功能,所以要想使PHP拥有较安全的配置,首先要保证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以下的所有版本都存在文件上传远程缓冲区溢出漏洞,而且攻击程序已经广泛流传,成功率非常高:
  http://packetstormsecurity.org/0204-exploits/7350fun
  http://hsj.shadowpenguin.org/misc/php3018_exp.txt
  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本身的安全配置
  
  PHP的配置非常灵活,我们可以通过php.ini、httpd.conf、.htAccess文件(该目录必须设置了AllowOverride All或Options)进行设置,还可以在脚本程序里使用ini_set()和其他的特定的函数进行设置,通过phpinfo()和get_cfg_var()函数可以得到配置选项的各个值。
  如果配置选项是唯一PHP_INI_SYSTEM属性的,我们必须通过php.ini和httpd.conf来修改,其修改的是PHP的Master值,但修改之后必须重启apache才能生效。其中php.ini设置的选项是对Web服务器所有脚本生效,httpd.conf里设置的选项是对该定义的目录下所有脚本生效。
  在讨论Linux系统下安全配置PHP服务器之前,我们应该了解PHP的safe_mode模式。
  1.safe_mode
  safe_mode是唯一PHP_INI_SYSTEM属性,它必须通过php.ini或httpd.conf来设置。要启用safe_mode,只需修改php.ini:
  safe_mode=On
  重启apache后,safe_mode就生效了,启动safe_mode,会对许多PHP函数进行限制,特别是和系统相关的文件打开、命令执行等函数。
  虽然safe_mode不是万能的(低版本的PHP可以绕过),但笔者还是强烈建议用户打开安全模式,这样在一定程度上能够避免一些未知的攻击。不过启用safe_mode会有很多限制,可能对应用带来影响,所以用户还需要调整代码和配置才能和谐。被安全模式限制或屏蔽的函数我们可以参考PHP手册。
  2.变量滥用
  PHP默认register_globals=On,对于Get、Post、Cookie、Environment、Session的变量我们可以直接注册成全局变量。它们的注册顺序是variables_order=″EGPCS″(可以通过php.ini修改),同名变量variables_order右边的覆盖左边,所以变量的滥用极易造成程序的混乱,而且脚本程序员往往没有对变量初始化的习惯,像如下的程序片断就极易受到攻击:
    //test_1.php
  if($pass == ″hello″)
  $auth = 1,
  if($auth == 1)
   echo ″some important information″,
  else
   echo ″nothing″,
  ?>
  攻击者只需用如下的请求就能绕过检查:
  http://victim/test_1.php?auth=1
  PHP-4.1.0发布的时候建议关闭register_globals,并提供了7个特殊的数组变量来使用各种变量。对于从Get、Post、Cookie等来的变量并不会直接注册成变量,我们必须通过数组变量来存取。PHP-4.2.0发布的时候,php.ini默认配置就是register_globals = Off,这使得程序使用PHP自身初始化的默认值,一般为0,避免了攻击者控制判断变量。
  解决方法:
  配置文件php.ini设置register_globals = Off。
  这要求程序员对作为判断的变量在程序最开始初始化为一个值。
  
  参考文献:
  [1]周星.基于PHP应用的数据共享与传递技术.北京:人民邮电出版社,2007.
  [2]网胜工作室著.PHP410程序设计.北京:北京希望电子出版社,2006.
  [3]仲进平.PHP网络开发技术程序设计[M].北京:人民邮电出版社,2007.
  [4]飞思科技产品研发中心.PHP网站设计与实现.北京:电子工业出版社,2004.
其他文献
为了提高经济效益,改善单体液压支柱工作面顶板管理,系统地开展矿山压力监测研究工作,徐州矿务局生产技术处,夹河煤矿和中国矿业大学采矿系共同承担了“徐州矿务局夹河煤矿7
民办高校近几年发展得很快,许多民办高校的规模、软件与硬件条件都已经超过一般的公办高校。这对扩大学校的影响,提高学校的知名度,带动全民健身都发挥了积极的作用。但同时我们也应该看到,由于受社会因素、训练时间、教练员水平等因素的制约,民办高校田径队的发展面临着许多问题。笔者对我省部分民办高校的田径队进行了调查分析后,从中发现了一些问题,在此提出一些看法。    一、资金的问题    笔者调查南京金肯学院
体育是学校培养全面发展的社会主义建设者和接班人的一项重要教育内容,学校的体育工作直接影响着21世纪建设人才的素质。不久前,国家教委、国家体委、卫生部、国家民委、国家科委联合对全国中小生体质健康状况作了普查,发现学生的耐力、柔韧性、肺活量等状况较之10年前有下降的趋势。造成这一现象的直接原因是学生体育锻炼得不够,包括锻炼时间和锻炼强度均达不到体锻达标要求。这一情况令人担忧。如何改变这个现状,我认为应
期刊
摘要: 本文主要介绍了Cookie技术带给网络的方便之处,并对JSP如何实现Cookie的写入和读出,以及用JSP操作Cookie过程中一些需要注意的问题进行了探讨。  关键词: JSPCookie写入读出    Cookie是一种应用较久的技术。HTML刚刚出现的时候,每个独立的页面之间无法记录和标识不同的用户。后来人们发明了Cookie技术,当用户访问网页时,它能在访问者的机器上创立一个文件,
期刊
猪繁殖与呼吸综合征病毒(PRRSV)是影响世界养猪业的重要病原之一,它能干扰宿主I型干扰素(IFN)的表达及I型IFN介导的信号通路,从而抑制感染猪的免疫反应。PRRSV基因组编码的非
现代学校课程已由单一的基础型课程扩展为基础型、拓展型和研究型课程三者并存。新型的学习方式——研究性学习也开始进入研究者的视野并受到重视。研究性学习是指学生在教师指导下,从自然现象、社会现象和自我生活中选择和确定研究专题,并在研究过程中主动地获取知识、应用知识、解决问题的一种学习活动。在新课程的体育教学中,农村小学必须改变传统的教学模式,适应时代的需求,将学生置于教学的主体地位,使他们进行参与性和体
呼吸作用与果蔬贮藏果蔬贮藏主要是在尽量避免机械损伤的基础上,控制温度、湿度和空气三个条件,降低呼吸作用及有机养料的消耗,使果蔬保持色、香、味和新鲜状态。果实在生长时,呼
摘要: 本文简要讲述了VHDL语言的特点、基本结构和设计流程,通过实例“24进制计数器”介绍了在MAX plusⅡ环境下运用VHDL语言设计实际电路的具体方法和步骤。  关键词: VHDL数字电路设计流程    VHDL是超高速集成电路硬件描述语言(Very High Speed Integrated circuit Hardware Description Language)的英文缩写。它的开发
期刊
新一轮课程改革是当今教育教学领域里的一场深刻的革命,其最终目的不外乎两个方面:一方面,就个体而言,就是要通过新理念的教育教学活动,造就出数以千万计的会学习、敢创新、敢表现、富有亲和力、会享受生活的一代新人。另一方面,从国家这个层面来看,就是借助新课改这个媒介,提高中华民族的整体素质,使我国能够立足于世界强国之林。体育教师怎样在新课改这个环境氛围中凸显自己的本职功能呢?体育目标是指在体育工作中应达到
期刊
本文介绍了浅眼房柱采矿法在急倾斜薄至中厚矿体中的应用实践,该法应用在含有一定粘结性的矿石,使用效果良好。 This paper introduces the application of shallow-eave po