论文部分内容阅读
PHP语言的流行性使得使用PHP搭建的动态网站大量涌现,然而因为开发者安全意识相对淡薄,加之网站攻击手法层出不穷,PHP网站的安全问题逐渐凸显。所以,研究总结出一整套能够系统防御各类网站攻击的方法并以此来指导编程人员去编写安全健壮的PHP应用就显得愈发重要。本课题主要分析和研究了 PHP技术开发出的网站存在的安全漏洞以及防御方法。课题从开源WEB应用安全项目(OWASP)社区所列出的WEB应用的十大安全隐患入手,将应用层DDOS、SQL注入、跨站脚本XSS、跨站请求伪造CSRF及文件包含漏洞作为研究重点,详细分析这些攻击的攻击原理与攻击过程,同时,本课题也针对这些攻击研究并设计出对应行之有效的防御措施。本课题提出针对应用层DDOS攻击,可以从Apache安全配置、限制请求频率和使用PHP Memcache等方面进行防御;针对SQL注入攻击,可以利用PHP安全配置、PHP数据对象(PDO)以及数据库安全设置等方法防御;针对跨网站脚本XSS攻击,可以利用输入过滤和输出编码及cookie的httponly属性等方法防御:针对跨网站请求伪造CSRF,可以利用检查cookie 一致性、检验HTTP请求来源(HTTP Referer)、验证码以及使用Anti CSRF Token等方法防御;针对文件包含漏洞,可以从设置php.ini相关选项、PHP编程中尽量避免包含用户可控的动态变量等方面防御。政务网站重在服务民众,但网站存在的安全问题却有碍这一功能的实现。本课题以交通管理部门门户网站为背景,系统说明如何去搭建一个安全、健壮、可靠的PHP应用。结合课题所面临的实际应用系统的功能需求与性能要求,从用户注册、授权登录、权限管理等角度重点针对应用层DDOS、SQL注入、跨网站脚本XSS以及跨网站请求伪造CSRF安全漏洞设计出网站平台重点模块的安全实现,最后运用漏洞测试工具对系统注册、登录等重点模块进行安全测试并分析,测试结果显示,使用本文提出的一些防御方法能够有效防御攻击,达到预期的安全性要求。今后可以将这些方法应用到实际的项目中,并可以对这些防御措施进行更加深入的研究和探索。