消除$ data& $ item函数

时间:2013-02-05 18:05:19

标签: php mysql mysqli

我正在尝试使用清理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)));
}

1 个答案:

答案 0 :(得分:1)

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

防止SQL注入

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

防止XSS攻击

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

您还应该从OWASP

阅读此文档