帮助PHP中的输出

时间:2011-02-28 21:34:10

标签: php mysql database echo

代码 -

$price = mysqli_real_escape_string($connect,trim($results['price']));

从数据库中检索价格,然后使用 -

进行回显
echo $price; 

问题 - XSS或SQL注入是否足够安全?它只包括数字。

由于

5 个答案:

答案 0 :(得分:4)

检查应该在数据输入期间完成,但您可以安全并在输出时检查。我只想使用is_numeric或类似的东西来确保输出确实是一个数字。

答案 1 :(得分:0)

标准做法是使用htmlspecialchars()htmlentities()将输出转义到浏览器以防止XSS。但是,如另一个答案所述,真正的问题是首先是否将正确的数据存储在数据库中。它应该在存储到数据库之前进行适当的验证和转义。

答案 2 :(得分:0)

为了安全起见,您需要根据用户输入评估$results['price']的输入。

如果是,您需要在将其发送到SQL之前强烈验证/清理它作为预期值。

答案 3 :(得分:0)

如果只从数据库中读取数据,则可以使用mysqli_real_escape_string()忽略。它对于转义应该写入db的用户输入很有价值。

答案 4 :(得分:0)

mysqli_real_escape_string()用于转义有关要插入数据库的数据,以防止SQL注入。它与XSS无关。

你必须使用htmlentities()来做你想做的事。我建议你阅读eykanal答案并使用is_numeric进行验证。