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 相关文章推荐
PHP insert语法详解
Jun 07 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
php文件夹的创建与删除方法
Jan 24 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
php接口隔离原则实例分析
Nov 11 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
PHP守护进程实例
2015/03/06 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
python进程类subprocess的一些操作方法例子
2014/11/22 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
django使用JWT保存用户登录信息
2020/04/22 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
幼教个人求职信范文
2013/12/02 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
迎八一活动主题
2014/01/31 职场文书
人力资源总监工作说明
2014/03/03 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
小学班主任心得体会
2016/01/07 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers