Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4188563
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类: Python/Ruby

2011-05-07 08:55:42

    数据库连接:
  
  1. $dsn = "mysql:dbname=test;host=localhost";
  2.   $user = "test";
  3.   $password = "test";
  4.   
  5.   try{
  6.           $dbh = new pdo($dsn, $user, $password);
  7.   } catch (PDOException $e){
  8.           echo "Connetion failed: " . $e->getMessage();
  9.   }
  10.   $dbh->exec("SET NAMEs 'utf8'");
    1. echo "
      --------------------------------------------
      "
      ;
    2.   $sql = "SELECT * from `c_conf` WHERE `var_name`=:vid";
    3.   
    4.   $ph = $dbh->prepare($sql);
    5.   $ph->execute(array('vid'=>'var1'));
    6.   $result = $ph->fetchAll();
    7.   echo "
      \n"
      ;
    8.   var_dump($result);
结果:
  1. array(1) { [0]=> array(16) { ["varid"]=> string(1) "1" [0]=> string(1) "1" ["pluginid"]=> string(1) "2" [1]=> string(1) "2" ["title"]=> string(15) "第二个插件" [2]=> string(15) "第二个插件" ["desc"]=> string(21) "这是第二个插件" [3]=> string(21) "这是第二个插件" ["var_name"]=> string(4) "var1" [4]=> string(4) "var1" ["type"]=> string(4) "text" [5]=> string(4) "text" ["value"]=> string(6) "abcdef" [6]=> string(6) "abcdef" ["extra"]=> string(0) "" [7]=> string(0) "" } }



一、添加OR等条件:

结果可以查到var_name为var1的记录。

  把execute修改为:$ph->execute(array('vid'=>'"var1" OR 1=1'));

则是查询不到任何记录,返回:array(0) { }

二、多个查询注入
$ph->execute(array('vid'=>'"var1"; SELECT * FROM `c_conf`;'));

查询结果仍然是空。














阅读(2246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~