Home >Backend Development >PHP Tutorial >Two simple pieces of PHP SQL injection prevention code_PHP tutorial

Two simple pieces of PHP SQL injection prevention code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:33:17943browse

Let’s introduce two methods. First, please save the following code as safe.php in the root directory of the website, and then add include("/safe.php"); in front of each php file:

php anti-injection code method one:

<?php
//要过滤的非法字符
$ArrFiltrate=array("‘",";","union");
//出错后要跳转的url,不填则默认前一页
$StrGoUrl="";
//是否存在数组中的值
function FunStringExist($StrFiltrate,$ArrFiltrate)
{
	foreach ($ArrFiltrate as $key=>$value)
	{
		if (eregi($value,$StrFiltrate))
		{
			return true;
		}
	}
	return false;
}
//合并$_POST 和 $_GET
if(function_exists(array_merge))
{
	$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}
else
{
	foreach($HTTP_POST_VARS as $key=>$value)
	{
		$ArrPostAndGet[]=$value;
	}
	foreach($HTTP_GET_VARS as $key=>$value)
	{
		$ArrPostAndGet[]=$value;
	}
}
//验证开始
foreach($ArrPostAndGet as $key=>$value)
{
	if (FunStringExist($value,$ArrFiltrate))
	{
		echo "<script language="javascript">alert("非法字符");</script>";
		if (emptyempty($StrGoUrl))
		{
			echo "<script language="javascript">history.go(-1);</script>";
		}
		else
		{
			echo "<script language="javascript">window.location="".$StrGoUrl."";</script>";
		}
		exit;
	}
}
?>

php anti-injection code method two:

<?php
/* 过滤所有GET过来变量 */
foreach ($_GET as $get_key=>$get_var)
{
if (is_numeric($get_var)) {
$get[strtolower($get_key)] = get_int($get_var);
} else {
$get[strtolower($get_key)] = get_str($get_var);
}
}
/* 过滤所有POST过来的变量 */
foreach ($_POST as $post_key=>$post_var)
{
	if (is_numeric($post_var)) 
	{
		$post[strtolower($post_key)] = get_int($post_var);
	} 
	else 
	{
		$post[strtolower($post_key)] = get_str($post_var);
	}
}
/* 过滤函数 */
//整型过滤函数
function get_int($number)
{
	return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
	if (!get_magic_quotes_gpc()) 
	{
		return addslashes($string);
	}
	return $string;
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752508.htmlTechArticleIntroduce two methods. First, please save the following code as safe.php and place it in the root directory of the website, and then Just add include("/safe.php"); before each PHP file: PHP anti-injection code method one:...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn