代码 -
$price = mysqli_real_escape_string($connect,trim($results['price']));
从数据库中检索价格,然后使用 -
进行回显echo $price;
问题 - XSS或SQL注入是否足够安全?它只包括数字。
由于
答案 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进行验证。