PHP中的输出帮助
代码- 从数据库中检索price,然后使用-PHP中的输出帮助,php,mysql,database,echo,Php,Mysql,Database,Echo,代码- 从数据库中检索price,然后使用- $price = mysqli_real_escape_string($connect,trim($results['price'])); 问题-这对XSS或SQL注入足够安全吗?它只包括数字 谢谢检查可能应该在数据输入期间进行,但您可以安全地在输出时进行检查。我只想使用或类似的方法来确保输出确实是一个数字。标准做法是使用htmlspecialchars()或htmllenties()将输出转义到浏览器以防XSS。然而,正如在另一个答案中提到的,真
$price = mysqli_real_escape_string($connect,trim($results['price']));
问题-这对XSS或SQL注入足够安全吗?它只包括数字
谢谢检查可能应该在数据输入期间进行,但您可以安全地在输出时进行检查。我只想使用或类似的方法来确保输出确实是一个数字。标准做法是使用
htmlspecialchars()
或htmllenties()
将输出转义到浏览器以防XSS。然而,正如在另一个答案中提到的,真正的问题是数据库中是否首先存储了正确的数据。在将其存储到数据库之前,应该对其进行正确验证和转义。为了安全起见,您需要评估$results['price']
的输入是否来自用户输入
如果是,则在将其发送到SQL之前,需要将其作为预期值进行强烈验证/清理。如果您的数据仅从数据库读取,则可以使用mysqli\u real\u escape\u string()忽略。它对于转义应该写入数据库的用户输入非常有用。mysqli\u real\u escape\u string()用于转义即将插入数据库的数据,以防止SQL注入。它与XSS无关
您必须使用htmlentities()来完成您想做的事情。我建议您阅读eykanal答案,并使用is_numeric进行验证。is$results['price']user input?@CJD no。这是mysqli_fetch_arraySQL注入,仅当用户操作写入数据库时才会发生。
echo $price;