有关PDO防sql注入问题 本帖最后由 sky94132003 于 2014-06-10 03:40:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 确实是新手,还不知道 PDO::quote 方法的存在用PDO需要升到5.3.6,是因为直到5.3.6,PDO才具有实用价值。之前的所有版本都存在着各种严重问题prepare 准备bindParam 绑定参数这是为一条SQL多次使用(仅参数不同)准备的,而无需每轮都组装查询串php 是通过 magic_quotes_gpc 来决定是否对外来数据做转义处理的php 5.3.6及以后默认关闭php5.4.0及以后忽视它的存在也就是说:安全问题是你自己的问题,php不打算替你完成了 用了 preparebindParam是否也不足够要用PDO::quote?那想请问一下用quote的话不是取代了prepare?就不能预处理或者批量insert? 预处理后用 execute 和 直接用 query 是两条路quote 是转义,对于预处理后的 execute 会自动隐式执行 对于 query 需自己显式的执行 明白了謝謝但是....$sql = "INSERT INTO foo (id,name) VALUES ('',:name)";$stmt = $pdo->prepare($sql);$stmt->bindParam(':name', $name);$name = $pdo->quote($_POST["name"]);$stmt->execute();比如我输入:peter's book但为什么会保存成'peter's book'这是正常的吗?我输出是要做些处理? 做了一个分页显示的页面,链接过去的第一眼看到的怎么是这样,有图求真相... 支持一下,踩一下,这个功能怎么做?? 遇到一个mysql写入问题,请教高手 怎么拆分返回来的路径的字符串 PHP中如何完全销毁变量和其存在内存中的值 用PHP写在线视频录制程序。。。。。 求正则表达式,大侠们不想过【光棍节】的都来看看,送泡妞秘籍!!! SESSION不变是怎么回事 谁给个发Email的代码!急等! 还是关于imap_headers的问题 echo显示中文乱码的问题 刚学web开发,求PHP+Apache配置方法
用PDO需要升到5.3.6,是因为直到5.3.6,PDO才具有实用价值。之前的所有版本都存在着各种严重问题prepare 准备
bindParam 绑定参数
这是为一条SQL多次使用(仅参数不同)准备的,而无需每轮都组装查询串php 是通过 magic_quotes_gpc 来决定是否对外来数据做转义处理的
php 5.3.6及以后默认关闭
php5.4.0及以后忽视它的存在
也就是说:安全问题是你自己的问题,php不打算替你完成了
prepare
bindParam是否也不足够要用PDO::quote?那想请问一下用quote的话不是取代了prepare?
就不能预处理或者批量insert?
quote 是转义,对于预处理后的 execute 会自动隐式执行
对于 query 需自己显式的执行
$sql = "INSERT INTO foo (id,name) VALUES ('',:name)";
$stmt = $pdo->prepare($sql);$stmt->bindParam(':name', $name);$name = $pdo->quote($_POST["name"]);$stmt->execute();
比如我输入:peter's book但为什么会保存成'peter's book'这是正常的吗?我输出是要做些处理?