-3

我不知道为什么以下代码不起作用。所有变量都已定义,但它不起作用。

include('Config.php');
$QID = $_GET['NewAnswer'];
$g_q_info = $con->query("SELECT * FROM questions WHERE ID='$QID'");
$q_i = $g_q_info->fetch_object();
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$Content = $_POST['editor1'];
$Content = $purifier->purify($Content);
$Title = htmlspecialchars(strip_tags($_POST['title']));
$QuestionID = $q_i->ID;
$con->query("INSERT INTO answers (QuestionID,Title,Content) VALUES ($QuestionID,$Title,$Contents)");
4

1 回答 1

0

您忘记引用要插入的值,并且您的查询只是假设成功。除了代码中的SQL 注入攻击漏洞。绝对最低限度的修复应该是这样的:

$con->query("INSERT INTO a[..snip..]) VALUES ('$QuestionID','$Title','$Contents')");
                                              ^--         ^-^-- etc..

注意额外的引号。不过,这并不能解决更大的注入问题。

于 2013-08-08T15:21:55.253 回答