≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP 安全防护要点解析

人气:517 时间:2018-09-23

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

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

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

/***   来自四海网(www.q1010.com)   ***/

但是下面的数据元素都是有瑕疵的
PHP安全防护清单 不安全有瑕疵的代码

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

/***   来自四海网(www.q1010.com)   ***/

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

/**
 * PHP安全防护要点简析
 *
 * @param 
 * @arrange 512-笔记网: www.q1010.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; }

/***   来自四海网(www.q1010.com)   ***/
以上就是PHP安全防护的相关技巧讲解

本文来自:http://www.q1010.com/173/1151-0.html

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

关键词:安全防护

您可能感兴趣的文章

上一篇:PHP final关键字用法示例
下一篇:php 编码和解码函数的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。