只是想知道,我的应用程序需要尽可能快,并且变量已经转换为 int,所以如果可以避免的话,我也不想对字符串进行转义。
例子是:
$var1 = (int)$_POST['number1'] //User input;
mysql_query("INSERT INTO ... $var1 ..");
这在所有情况下都是安全的还是我也应该使用 mysql_real_escape_string $var1
?
有时我也 md5() vars 而不是转义它们,但我想这没关系。
最佳答案
是的,它在所有情况下都是安全的,尽管您可能想检查 $_POST['number1']
是否也是一个有效的整数,以避免引起注意。
而且,即使你说
I'm only wondering about safeness, not too worried about prefered [sic] methods and coding standards.
我仍然建议您使用准备好的语句。
关于php - 转换为 int 而不是 mysql_real_escape_string 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883811/