1

我正在尝试进行清理function以使其余代码保持简单。由于我正在使用MYSQLi我想知道以下代码是否正确?

function sanitize ($data){
    global $db_connect;
    return htmlentities(strip_tags($db_connect->real_escape_string($data)));
}

function array_sanitize ($item) {
    global $db_connect;
    $item = htmlentities(strip_tags($db_connect->real_escape_string($item)));
}
4

1 回答 1

1

我看到你清理字符串的两个原因:

防止 SQL 注入

您应该使用准备好的语句而不是使用real_escape_string()来防止 SQL 注入。Mysqli 扩展支持预处理语句。它们最安全且易于使用。使用它们。

防止 XSS 攻击

防止 XSS 攻击htmlentities()strip_tags()可能会有所帮助。您还应该确保正确处理输入字符集的函数。

您还应该从OWASP阅读此文档

于 2013-02-05T18:07:24.883 回答