PHP程序设计案例教程 教学课件 陈建国 第15讲 第15讲 PHP安全与加密技术.pdf
文本预览下载声明
机械工业出版社
第15讲 PHP安全与加密技术
教师姓名
教研室名称
2012年01月01日
内容要点 CONTENTS 《PHP程序设计》--教师姓名
1. PHP漏洞与防护措施
2. PHP数据加密技术
2/15
1. PHP漏洞与防护措施 《PHP程序设计》--教师姓名
1) 文件系统
在网络系统中,最容易遭到攻击的就是文件系统,虽然
PHP的目录,以及文件安全机制非常完善,但是有关于路
径或操作文件的动作,还是可以被利用。本节将介绍一些
关于文件系统的安全问题,并提出解决方案。
3/15
1. PHP漏洞与防护措施 《PHP程序设计》--教师姓名
2) 外部变量产生的安全问题
如果代码中关于文件系统的操作不够安全,就会被利用来删除服务器上
的文件,下面演示的是一段不安全的代码,如果在脚本中使用了这段
代码,很可能被利用来操作服务器上的文件,演示代码如清单所示。
//不安全的代码
?php
//处理表单变量
$dir = $_POST[dirName];
$file = $_POST[fileName];
unlink($dir.“/”.$file); //删除指定文件夹下的文件
echo 删除文件成功! ;
?
4/15
1. PHP漏洞与防护措施 《PHP程序设计》--教师姓名
3) 特殊字符攻击
使用包含文件功能,对于编写代码来说有很多好处,但是如果不正确
的使用,也能带来安全方面的问题,下面演示一段代码,用于说明包
含文件带来的安全问题,代码如清单所示。
//特殊字符攻击
?php
//处理外部变量
$file = $_GET[fileName];
//检查文件是否存在
if(file_exists(c:/www/home/.$file./.php)) {
//如果文件存在,就包含这个文件
include c:/www/home/.$file./.php;
}
?
5/15
1. PHP漏洞与防护措施 《PHP程序设计》--教师姓名
4) 数据库权限与安全
使用数据库的超级用户帐号,可以任意执行数据操作,例如:删除数
据,清空表,删除表,删除数据库等。这些操作都是非常危险的,都
会直接影响到数据库中存储的数据。
在实际应用中,尽量不要使用超级用户来操作数据库,推荐新建受限
用户,来管理对应的数据库。如果使用受限用用户操作数据库,即使
非法用户通过代码取得了这个用户的操作权限,也不会产生大的损失。
受限用户的权限,可以根据程序的要求来设置,如果程序只是用来查
询数据,那么受限用户的权限只设置为查询权限,就可以满足要求了。
6/15
1. PHP漏洞与防护措施 《PHP程序设计》--教师姓名
5) SQL注入与防范
在代码中操作数据库,都是通过SQ
显示全部