PHP 安全防护要点解析

内容摘要
这篇文章主要为大家详细介绍了PHP 安全防护要点解析,具有一定的参考价值,可以用来参考一下。

对PHP安全防护要点简析对此感兴趣的朋友,看看idc笔记做的技术笔记!关于 Web 应用
文章正文

这篇文章主要为大家详细介绍了PHP 安全防护要点解析,具有一定的参考价值,可以用来参考一下。

对PHP安全防护要点简析对此感兴趣的朋友,看看idc笔记做的技术笔记!关于 Web 应用程序安全性必须认识到的第一件事是不应该信任外部数据外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据在采取措施确保安全之前来自任何其他来源(比如 GET 变量表单 POST数据库配置文件会话变量或 cookie)的任何数据都是不可信任的例如下面的数据元素可以被认为是安全的因为它们是在 PHP 中设置的PHP安全防护清单 安全无暇的代码

/**
 * PHP安全防护要点简析
 *
 * @param 
 * @arrange 512-笔记网: www.idcnote.com
 **/
$myUsername=‘tmyer’; 
$arrayarrayUsers=array
(’tmyer’‘tom’‘tommy’); define(”GREETING”‘hello
there’$myUsername); 

/***   来自php教程(www.idcnote.com)   ***/
但是下面的数据元素都是有瑕疵的PHP安全防护清单 不安全有瑕疵的代码

/**
 * PHP安全防护要点简析
 *
 * @param 
 * @arrange 512-笔记网: www.idcnote.com
 **/
$myUsername=$_POST[’username’];
//tainted! 
$arrayarrayUsers=array($my
Username‘tom’‘tommy’);
//tainted! define(”GREETING”‘hellothere’
$myUsername);//tainted! 

/***   来自php教程(www.idcnote.com)   ***/
为 什么第一个变量 $myUsername 是有瑕疵的?因为它直接来自表单 POST用户可以在这个输入域中输入任何字符串包括用来清除文件或运行以前上传的文件的恶意命令您可能会问“难道不能使用只接受字母 AZ 的客户端(Javascrīpt)表单检验脚本来避免这种危险吗?”是的这总是一个有好处的步骤但是正如在后面会看到的任何人都可以将任何表单下载 到自己的机器上修改它然后重新提交他们需要的任何内容解决方案很简单必须对 $_POST[’username’] 运行清理代码如果不这么做那么在使用 $myUsername 的任何其他时候(比如在数组或常量中)就可能污染这些对象对用户输入进行清理的一个简单方法是使用正则表达式来处理它在这个示例中只希望接受字母将字符串限制为特定数量的字符或者要求所有字母都是小写的这可能也是个好主意PHP安全防护清单 使用户输入变得安全

/**
 * PHP安全防护要点简析
 *
 * @param 
 * @arrange 512-笔记网: www.idcnote.com
 **/
$myUsername=cleanInput($_
POST[’username’]);//clean! 
$arrayarrayUsers=array(
$myUsername‘tom’‘tommy’);//clean! define(”GREETING”‘hello
there’$myUsername);//clean! 
functioncleanInput($input){ $clean=strtolower($input); 
$clean=preg_replace(”/[^az]
/”“”$clean); $clean=substr($clean); 
return$clean; }

/***   来自php教程(www.idcnote.com)   ***/
以上就是PHP安全防护的相关技巧讲解

注:关于PHP 安全防护要点解析的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!