需要注意的几个PHP漏洞小结
2015-01-24信息快讯网
几个PHP漏洞小结,从事php开发的朋友可以参考下
需要注意的几个PHP漏洞几个重要的php.ini选项
Register Globals
php>=4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患.
例1:
//check_admin()用于检查当前用户权限,如果是admin设置$is_admin变量为true,然后下面判断此变量是否为true,然后执行管理的一些操作 //ex1.php if (check_admin()) { $is_admin = true; } if ($is_admin) { do_something(); } ?>
这一段代码没有将$is_admin事先初始化为Flase,如果register_globals为On,那么我们直接提交 http://www.sectop.com/ex1.php?is_admin=true,就可以绕过check_admin()的验证
例2:
//ex2.php if (isset($_SESSION["username"])) { do_something(); } else { echo "您尚未登录!"; } ?>
//ex1.php $dir = $_GET["dir"]; if (isset($dir)) { echo ""; system("ls -al ".$dir); echo ""; } ?>
mixed eval(string code_str) //eval注入一般发生在攻击者能控制输入的字符串的时候
//ex2.php
$var = "var"; if (isset($_GET["arg"])) { $arg = $_GET["arg"]; eval("$var = $arg;"); echo "$var =".$var; } ?>
PHP在不同页面间传递Json数据示例代码
解析PHP自带的进位制之间的转换函数
深入PHP内存相关的功能特性详解
PHP rawurlencode与urlencode函数的深入分析
PHP跳转页面的几种实现方法详解
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
查找mysql字段中固定字符串并替换的几个方法
几个有用的php字符串过滤,转换函数代码
PHP的几个常用数字判断函数代码
PHP中几个常用的魔术常量
PHP设计模式 注册表模式(多个类的注册)
PHP的可变变量名的使用方法分享
PHP中如何判断AJAX提交的数据
用PHP书写安全的脚本代码
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
PHP中使用数组实现堆栈数据结构的代码
PHP几个数学计算的内部函数学习整理
php入门学习知识点五 关于php数组的几个基本操作