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安全配置方法
Jun 16 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
php处理restful请求的路由类分享
Feb 27 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
PHP中的流(streams)浅析
Jul 02 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
php实现的双色球算法示例
Jun 20 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
prototype1.4中文手册
2006/09/22 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
js对象的比较
2011/02/26 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
计算机系本科生求职信
2014/05/31 职场文书
共青团员自我评价范文
2014/09/14 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2014年班组长工作总结
2014/11/20 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书