当前位置: 首页 > 图文教程 > 网络编程 > PHP > php SQL防注入代码

PHP
php的curl实现get和post的代码
PHP6 先修班 JSON实例代码
phpMyAdmin2.11.6安装配置方法
常用的php对象类型判断
php 中文处理函数集合
php 缓存函数代码
php查看session内容的函数
php下删除字符串中HTML标签的函数
php xml分析函数代码
PHP Mysql编程之高级技巧
swfupload 多文件上传实现代码
PHP开发中常用的8个小技巧
PHP define函数的使用说明
超级全面的PHP面试题整理集合
php判断字符以及字符串的包含方法属性
PHP中常用数组处理方法实例分析
php array_slice函数的使用以及参数详解
PHP生成HTML静态页面实例代码
php将数据库中的电话号码读取出来并生成图片
PHP通用分页类page.php[仿google分页]

PHP 中的 php SQL防注入代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 141 ::
收藏到网摘: n/a

php下实现sql防注入效果代码,asp的比较多,php的倒不多见,喜欢php的朋友可以参考下 SQL防注入代码
<?php
/**
* 防sql注入
* @author: [email protected]
* */
/**
* reject sql inject
*/
if (!function_exists (quote))
{
function quote($var)
{
if (strlen($var))
{
$var=!get_magic_quotes_gpc() ? $var : stripslashes($var);
$var = str_replace("'","\'",$var);
}
return "'$var'";
}
}
if (!function_exists (hash_num)){
function hash_num($input)
{
$hash = 5381;
for ($i = 0; $i < strlen($str); $i++)
{
$c = ord($str{$i});
$hash = (($hash << 5) + $hash) + $c;
}
return $hash;
}
}
/**************** end *************************/
?>


<?php
/**
* 防sql测试代码
CREATE TABLE IF NOT EXISTS `tb` (
`id` int(10) unsigned NOT NULL auto_increment,
`age` tinyint(3) unsigned NOT NULL,
`name` char(100) NOT NULL,
`note` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
**/
include_once('common.php');
var_dump(hash_num('dddd'));
if(empty($_GET))
{
$_GET = array('age'=>'99','name'=>'a\'b\\\'c";','note'=>"a'b\'\nc#");
}
$age = (int)$_GET['age'];
$name = quote($_GET['name']);
$note = quote($_GET['note']);
$sql = "INSERT INTO `tb` ( `age`, `name`, `note`) VALUES
( $age, $name, $note)";
var_dump($sql);
?>