php SQL防注入代码集合


Posted in PHP onApril 25, 2008

SQL防注入代码一

<?php 
/** 
* 防sql注入 
* @author: zhuyubing@gmail.com 
* */ 
/** 
* 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); 
?>

PHP 防止sql注入函数代码二:
<?php 
$magic_quotes_gpc = get_magic_quotes_gpc(); 
@extract(daddslashes($_COOKIE)); 
@extract(daddslashes($_POST)); 
@extract(daddslashes($_GET)); 
if(!$magic_quotes_gpc) { 
$_FILES = daddslashes($_FILES); 
} function daddslashes($string, $force = 0) { 
if(!$GLOBALS['magic_quotes_gpc'] || $force) { 
if(is_array($string)) { 
foreach($string as $key => $val) { 
$string[$key] = daddslashes($val, $force); 
} 
} else { 
$string = addslashes($string); 
} 
} 
return $string; 
} 
?>

php 防止sql注入代码三
function inject_check($sql_str) { //防止注入 
$check = eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str); 
if ($check) { 
echo "输入非法注入内容!"; 
exit (); 
} else { 
return $sql_str; 
} 
} 
function checkurl() { //检查来路 
if (preg_replace("/https教程?://([^:/]+).*/i", "1", $_server['http_referer']) !== preg_replace("/([^:]+).*/", "1", $_server['http_host'])) { 
header("location: http://s.3water.com"); 
exit(); 
} 
} 
//调用 
checkurl(); 
$str = $_get['url']; 
inject_check($sql_str);//这条可以在获取参数时执行操作
PHP 相关文章推荐
一个可以找出源代码中所有中文的工具
Oct 25 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
坏狼的PHP学习教程之第1天
Jun 15 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
php中文字母数字验证码实现代码
Apr 25 #PHP
Ajax PHP简单入门教程代码
Apr 25 #PHP
PHP开发框架总结收藏
Apr 24 #PHP
php5数字型字符串加解密代码
Apr 24 #PHP
php实现的简单压缩英文字符串的代码
Apr 24 #PHP
php格式化工具Beautify PHP小小BUG
Apr 24 #PHP
使用PHP的日期与时间函数技巧
Apr 24 #PHP
You might like
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
javascript 函数使用说明
2010/04/07 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
vue params、query传参使用详解
2017/09/12 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python查询sqlite数据表的方法
2015/05/08 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
python web框架 django wsgi原理解析
2019/08/20 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
Python实现Restful API的例子
2019/08/31 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
物流管理专业职业生涯规划书
2014/01/06 职场文书
培训班主持词
2014/03/28 职场文书
小学生期末评语大全
2014/04/21 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
个人收入证明格式
2015/06/24 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书