英文原文:
5 PHP Security Measures
多年来,PHP不断是一个波动的、便宜的运转基于web使用程序的平台。像大大多数基于web的平台一样,PHP也是轻易遭到内部进犯的。开发职员、数据库 架构师和系统***在安排PHP使用程序到Server之前都应当采用预防办法。大部分预防办法可以经过几行代码或者把使用程序设置稍作调剂便可完成。
#1:管理安装剧本
假如开发职员曾经安装了一套第三方使用程序的PHP剧本,该剧本用于安装全部使用程序的任务组件,并供给一个接入点。大大多数第三方软件包都建议在安装后, 删除该目次包括的安装剧本。但开发职员盼望保存安装剧本,他们可以创立一个.htaccess文件来把持管理拜访目次。
AuthType Basic
AuthName “Administrators Only”
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
任何未经受权的用户,假如试图拜访一个受维护的目次,将会看到一个提醒,请求输出用户名和密码。密码必需适配指定的“passwords”文件中的密码。
#2:头文件
在非常多状况下,开发职员可以将散布在使用程序的几个剧本包括进一个剧本里。这些剧本将包括一个“include”指令,集成单个文件到原始页面的代码里。 当“include”文件包括敏感信息,包含用户名、密码和数据库拜访密钥时,该文件的扩大名应当定名成“.php ",而不是典范的“.inc”扩大。“.php”扩大确保php引擎将处置该文件,并避免任何未经受权的拜访。
#3: MD5 vs. SHA
在某些状况下,用户终极会创立本人的用户名和密码,而站点***凡是会对表单提交的密码加密,并保管在数据库中。在过来的几年中,开发职员会运用 MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今日,非常多开发职员运用SHA-1(安全散列算法)函数来创立一个160位的字符串。
#4: 主动全局变量
php.ini文件中包括的设置称为“register_globals”。PServer会依据register_globals的设置,将会为Server变量和 查询字符串主动创立全局变量。在安装第三方的软件包时,比方内容管理软件,像Joomla和Drupal,安装剧本将领导用户把 register_globals设置为“封闭”。将设置改动为“封闭”可以确保未经受权的用户没法经过猜想变量称号及验证密码来拜访数据。
#5: 初始化变量和值
很多开发职员都落入了实例化变量不赋值的圈套,缘由可能因为时间的限制而不上心,或缺少尽力。身份验证过程当中的变量,应当在用户登录程序Start前就有值。这个容易的步调可以避免用户绕过验证程序或拜访站点中某些他们没有权限的区域。
本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。
2KB翻译任务按照
CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。

2KB项目(www.2kb.com,源码交易平台),供给担保交易、源码交易、虚拟商品、在家创业、在线创业、Task交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接生意、网站交易、广告生意、站长培训、建站美工等服务