PHP判断变量是否存在并且己赋值安全的写法

原创 2011年01月22日 17:23:00

PHP编程中,我们会经常遇到需要判断一个变量($_GET,$_POST,$_REQUEST)是否存在并且是否有赋值。这个时候如果我们不小心去写,那么就有可能会导致注入式漏洞的产生。特别是涉及到数据库操作的时候,这种行为就更加明显。

下面通过一个实例来讲解如何书写正确的语句,规避潜在的可能产生的漏洞。我们需要获取$_GET['id']的值,为下面的数据库查询做准备。

<?php
$id = 0;
if(isset($_GET['id']) && !empty($_GET['id']))
{
	$id = intval($_GET['id']);
}
if($id < 0)
{
	$id = 0;
}
?>

intval强制转换成数字的问题。数字大于2147483647会出现溢出出现负数,但是在一般情况下,数字不会超过这么大。所以 按照上面的写法 ,应该是没问题 的。

先给$id变量设一个值,为0,接下来判断$_GET['id']是否有设置,并判断下是否为空值。如果不为空,就取整数,如果为负数,就是溢出的情况 ,给它强制性设为0.这样就能确保后面所得的$id值为安全值,不存在除整数外其它的情况出现。

如果是字符串类型的变量,在插入数据库之前,要用mysql_real_escape_string方法处理下字符串,避免注入式漏洞。

PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

PHP判断变量是否存在及函数isset() 、empty()与is_null的区别 作者:php-note.com  发布于:2014-01-16 21:16  分类:PHP基础  浏览(8...
  • FeBr2
  • FeBr2
  • 2016年03月24日 20:21
  • 362

PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

一、举例说明 A.如何判断一个变量是否定义?

PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

一、举例说明 A.如何判断一个变量是否定义? 01 02 // 假设不存在$test 变量 ...

PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

一、举例说明 A.如何判断一个变量是否定义? 01 02 // 假设不存在$test 变量 03   04 if (i...

关于php必须谨慎处理变量和调用内置函数的几点总结,否则会带来安全方面的灾难

php 安全 变量处理 函数调用

PHP安全编程:register_globals的安全性 全局变量注册

如果你还能记起早期Web应用开发中使用C开发CGI程序的话,一定会对繁琐的表单处理深有体会。当PHP的register_globals配置选项打开时,复杂的原始表单处理不复存在,公用变量会自动建立。它...
  • mosovi
  • mosovi
  • 2015年07月10日 20:08
  • 77

jquery判断一个文件是否存在函数写法的历程

第一次的写法: function Exists(url) {         $.ajax({         url: url,          type: 'HEAD',          e...
  • sxf359
  • sxf359
  • 2017年02月16日 17:09
  • 2189

shell脚本判断变量文件目录的写法

转载地址:http://haotushu.sinaapp.com/post-363.html 先写一些基本语法:  1、字符串判断  str1 = str2      当两个串有相同内容、长...

PHP中如何检测一个值为null的变量是否存在

检测变量是否,通常想到的是使用isset()函数,但是

PHP 判断变量是否为空 empty() 函数

关于 empty() empty() 用于检查一个变量是否为空。如果变量是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、va...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP判断变量是否存在并且己赋值安全的写法
举报原因:
原因补充:

(最多只允许输入30个字)