我知道应该使用预处理语句,但我的下一个项目将使用预处理语句,我只需要完成这个简单的小应用程序。
所以我的问题是:
以下代码片段是否安全?
我已经使用了htmlentities和mysql_real_escape_string,因为我认为这是一个安全的选项。
//Image
$imageInput = $_POST['Image'];
$imageClean = htmlentities($imageInput, ENT_QUOTES, 'UTF-8');
//Inserts values into relevant field and creates a new row.
mysql_query("UPDATE ***** SET image='" . mysql_real_escape_string($imageClean) . "' WHERE id=" . mysql_real_escape_string($idClean) . "");
添加$idClean的代码如下:
//Id to change
if(ctype_digit($_POST['testimonial']))
{
$idInput = $_POST['testmonial'];
$idClean = htmlentities($idInput, ENT_QUTOES, 'UTF-8');
}
感谢您的帮助。
顺便提一下,如果您能提出一些可以添加的建议,那就太好了。
id
是一个整数,我会选择将$idClean强制转换为(int)类型。 - Piskvor left the buildingid
部分用引号括起来。 - Pekka