•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

php完成防备SQL注入的两种要领引见(代码示例)【php教程】,php

摘要: 本篇文章给人人带来的内容是关于php完成防备SQL注入的要领引见(两种),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。PHP简朴完成防备SQL注入的要领,连系实例情势剖析了P...
本篇文章给人人带来的内容是关于php完成防备SQL注入的要领引见(两种),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。

PHP简朴完成防备SQL注入的要领,连系实例情势剖析了PHP防备SQL注入的经常使用操纵技能与注意事项,PHP源码备有详实解释便于明白,须要的朋侪能够参考下!

要领一:execute代入参数


 $var_Value) {
    //猎取POST数组最大值
    $num = $num + 1;
  }
  //下标为i的数组存储的是商品id, 下标为j数组的存储的是此商品的库存
  for($i=0;$isetAttribute(PDO::ATTR_EMULATE_PREPARES, false);
      //查询数据库中是不是存在该ID的商品
      //当挪用 prepare() 时,查询语句已发送给了数据库服务器,此时只要占位符 ? 发送过去,没有用户提交的数据
      $stmt = $pdo->prepare("select good_id from delphi_test_content WHERE good_id = ?");
      //当挪用到 execute()时,用户提交过来的值才会传送给数据库,他们是离开传送的,二者自力的,SQL攻击者没有一点时机。
      $stmt->execute(array($_POST[$i]));
      //返回查询效果
      $count = $stmt->rowCount();
      //假如当地数据库存在该商品ID和库存纪录,就更新该商品的库存
      if($count != 0)
      {
        $stmt = $pdo->prepare("update delphi_test_content set content = ? WHERE good_id = ?");
        $stmt->execute(array($_POST[$j], $_POST[$i]));
      }
      //假如当地数据库没有该商品ID和库存纪录,就新增该条纪录
      if($count == 0)
      {
        $stmt = $pdo->prepare("insert into delphi_test_content (good_id,content) values (?,?)");
        $stmt->execute(array($_POST[$i], $_POST[$j]));
      }
    }
  }
  $pdo = null;
  //封闭衔接
}
?>

要领二:bindParam绑定参数


$var_Value) {
    //猎取POST数组最大值
    $num = $num + 1;
  }
  //下标为i的数组存储的是商品id, 下标为j数组的存储的是此商品的库存
  for($i=0;$iprepare("select good_id from delphi_test_content WHERE good_id = ?");
      $stmt->execute(array($_POST[$i]));
      $stmt->bindParam(1,$_POST[$i]);
      $stmt->execute();
      //返回查询效果
      $count = $stmt->rowCount();
      //假如当地数据库存在该商品ID和库存纪录,就更新该商品的库存
      if($count != 0)
      {
        $stmt = $pdo->prepare("update delphi_test_content set content = ? WHERE good_id = ?");
        $stmt->execute(array($_POST[$j], $_POST[$i]));
        $stmt->bindParam(1,$_POST[$j]);
        $stmt->bindParam(2,$_POST[$i]);
        $stmt->execute();
      }
      //假如当地数据库没有该商品ID和库存纪录,就新增该条纪录
      if($count == 0)
      {
        $stmt = $pdo->prepare("insert into delphi_test_content (good_id,content) values (?,?)");
        $stmt->bindParam(1,$_POST[$i]);
        $stmt->bindParam(2,$_POST[$j]);
        $stmt->execute();
      }
    }
  }
  $pdo = null;
  //封闭衔接
}
?>

以上就是php完成防备SQL注入的两种要领引见(代码示例)的细致内容,更多请关注ki4网别的相干文章!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号