这种形式输入需要多少次的卫生化?

时间:2010-03-25 21:12:42

标签: php forms sanitization

$username = $_POST['username'];

$sanitizedUsername = strip_tags(stripcslashes($username));

足以防止malacious sql注入和其他类型的攻击。如果不是我还应该使用什么?

P.S。我想允许用户选择包含字母数字,空格和符号字符的用户名和密码(除了mysql语句中使用的引号或星号之外)。

3 个答案:

答案 0 :(得分:2)

插入数据库时​​,请使用:

mysql_real_escape_string($_POST['username']);

输出到HTML时,请使用:

htmlspecialchars($_POST['username']);

答案 1 :(得分:2)

如果您的环境允许,请始终使用参数化查询以避免SQL注入http://pl.php.net/manual/en/mysqli.prepare.php

答案 2 :(得分:1)

使用string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

http://www.php.net/mysql_real_escape_string