首页 > 解决方案 > 如何防止 Question2Answer 中的 SQL 注入?

问题描述

我想防止 Question2Answer 中的 SQL 注入。

这就是我通过 HTML 表单在 MySQL 中存储数据的方式。我知道这是一个安全风险。

例子 -

$price = $_POST['price']; 

或者

$price = array_key_exists('price', $_POST) ? $_POST['price'] : "";

和 SQL 查询是 -

$insertqry = qa_db_query_sub("INSERT INTO test_table (title, price) VALUES ('$title','$price')");

我应该如何在最新的 PHP 7 及以上版本中发布数据?

我认为转义字符串已被弃用或过时。

标签: phpmysqlsqlquestion2answer

解决方案


根据我能找到的少量信息,您需要使用qa_db_query_sub占位符值:

 qa_db_query_sub("INSERT INTO test_table (title, price) VALUES ($,$)", $title, $price);

您将需要查看我找不到的官方文档,以确保这是正确的。

请注意,如果您正在尝试构建一个完整的应用程序,我不确定这个平台是否是最好的构建平台。还有很多其他的框架有更好的文档记录并且有更多的社区支持。


推荐阅读