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 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
PHP脚本中include文件出错解决方法
Nov 20 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
php去除数组中重复数据
Nov 18 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
四个PHP非常实用的功能
Sep 29 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
php实现遍历文件夹的方法汇总
Mar 02 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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
PHP新手上路(三)
2006/10/09 PHP
php MySQL与分页效率
2008/06/04 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
php获取linux命令结果的实例
2017/03/13 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
优化javascript的执行速度
2010/01/23 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
基于Python实现签到脚本过程解析
2019/10/25 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
pytorch简介
2020/11/11 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
讲座主持词
2014/03/20 职场文书
美容院经理岗位职责
2014/04/03 职场文书
财务部岗位职责范本
2015/04/14 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
mysql如何查询连续记录
2022/05/11 MySQL