首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >多个MySQLi预准备语句和漏洞(对我的代码进行评级)

多个MySQLi预准备语句和漏洞(对我的代码进行评级)
EN

Stack Overflow用户
提问于 2012-07-18 21:10:27
回答 1查看 800关注 0票数 0

关于MySQLi预置语句的超长问题。开始吧。

对SQl注入来说,使用MySQLi预准备语句是完全不可能的吗?例如,请参阅下面的代码,我认为可以直接从用户使用$_POST变量而不需要任何注入保护,这是正确的吗?对于这个问题,请忽略验证数据以确保它是我的数据库的正确格式(我总是这样做的),我在这里更关注安全性。

代码语言:javascript
代码运行次数:0
运行
复制
$mysqli=new mysqli($host, $user, $password, $database);

$stmt=$mysqli->stmt_init();
$stmt->prepare('INSERT INTO `tablename` (`column`) VALUES (?)');

$stmt->bind_param('s', $_POST['value']);
$stmt->execute();

$stmt->close();
$mysqli->close();

我的代码也是正确的吗?这只是我第二次或第三次使用MySQLi类编写预准备语句。虽然它可以工作,但我想知道我做的一切是否都是正确的?该脚本的任何部分会被认为是糟糕的实践吗?

最后,如何处理使用同一数据库连接的多个预准备语句?我是否只是在$stmt上使用close()方法,然后初始化另一个$stmt类?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-18 21:14:02

参数SQL 对于注入是安全的。你不需要担心这一部分。将用户输入与您的SQL语句连接在一起是不安全的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11542198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档