unescape换行和换行是否安全?

时间:2011-07-12 15:03:17

标签: php mysql-real-escape-string

用mysql_real_escape_string清理输入然后unescape换行符是否安全? 例如:

$to_database = mysql_real_escape_string($_POST['some_input']);
$to_database = str_replace('\n', "\n", $to_database);
$to_database = str_replace('\r', "\r", $to_database);

我需要这个,因为它们破坏了我存储在数据库中的降价。

2 个答案:

答案 0 :(得分:2)

要忘记特殊字符,例如' \ n'或者' \ r'从数据库中提取后需要使用stripcslashes(而不是stripslashes)

答案 1 :(得分:0)

在mysql_real_escape_string之后取消任何内容都没有意义。如果未正确读取数据,则很可能会启用魔术引号。在这种情况下,你必须在转义之前使用stripslashes。 (但只有在打开魔术引号时才这样做 - 你可以在运行时检查它)