0

我不熟悉 sql 注入,我想知道我的脚本中是否有任何无懈可击的地方,如果有请指出并给我一些修复它的提示。

<?php
include("config.php");
?>

<?php
$desc = $_POST['desc'];
$desc = mysql_real_escape_string($desc);
$author = $_POST['author'];
$date = date("d/M/Y");
mysql_query("INSERT INTO `changelog`(`author`, `date`, `description`) VALUES ('{$author}','{$date}','$desc')") or die(mysql_error());
include("success.php");
?>
4

2 回答 2

1

就在这里。您完全依赖于mysql_real_escape_string已弃用的内容。此外,您应该根据您期望的一系列输入构建一些您自己的逻辑测试。您可能想使用 RegExp 或其他一些修剪功能,但不要仅仅依赖mysql_real_escape_string.

于 2013-07-21T22:45:54.490 回答
0

您应该编写一些逻辑来测试您期望的数据。

您可以查看http://php.net/manual/en/security.database.sql-injection.php以获取有关防止 SQL 注入的更多信息。

于 2013-07-21T22:48:42.563 回答