【发布时间】:2013-06-24 07:55:25
【问题描述】:
我有一个使用 PHP 发送联系邮件的 HTML 表单。
一切顺利,除了来自文本区域的消息正文,它将使用以下两个函数进行过滤:
1:mysql_real_escape_string()
或
2:
function clean_data($input) {
$input = trim(htmlentities(strip_tags($input,",")));
if (get_magic_quotes_gpc())
$input = stripslashes($input);
$input = mysql_real_escape_string($input);
return $input;
}
当我放置一些换行符时,它会转换为真正可见的 \r\n
而不是显示这个:
你好,
这是一封测试邮件。
它显示了这个:
您好,\r\n\r\n这是一封测试邮件。
如果我按原样传递字符串而不进行验证,则效果很好。
这里有什么问题?
谢谢。
【问题讨论】:
-
get_magic_quotes_gpc()应该永远评估为true。魔术语录很糟糕,我想你刚刚发现了原因。 php.net/manual/en/security.magicquotes.whynot.php
标签: php validation email