php SQL防注入代码集合
2015-01-24信息快讯网
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);
?>
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.jb51.net");
exit();
}
}
//调用
checkurl();
$str = $_get['url'];
inject_check($sql_str);//这条可以在获取参数时执行操作
php抓取https的内容的代码
php中几种常见安全设置详解
PHP 检查扩展库或函数是否可用的代码
php下关于中英数字混排的字符串分割问题
Blitz templates 最快的PHP模板引擎
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
ExtJS与PHP、MySQL实现存储的方法
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
php+mysql 实现身份验证代码
PHP 抓取网页图片并且另存为的实现代码
PHP 获取远程文件内容的函数代码
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
PHP+MySQL 手工注入语句大全 推荐
防止MySQL注入或HTML表单滥用的PHP程序
高级php注入方法集锦第1/2页
Php注入点构造代码
php xfocus防注入资料
php中文字母数字验证码实现代码
Ajax PHP简单入门教程代码
PHP开发框架总结收藏
php5数字型字符串加解密代码
php实现的简单压缩英文字符串的代码
编写漂亮的代码 - 将后台程序与前端程序分开
Mysql中limit的用法方法详解与注意事项
mysql 中InnoDB和MyISAM的区别分析小结
php5 mysql分页实例代码
PHP防注入安全代码
在php MYSQL中插入当前时间
mysql+php分页类(已测)
PHP与SQL注入攻击[三]
PHP与SQL注入攻击[二]
PHP与SQL注入攻击[一]