php – 没有mysql_real_escape_string的清理联系表单

前端之家收集整理的这篇文章主要介绍了php – 没有mysql_real_escape_string的清理联系表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我通常使用此函数来清理我的表单输入,然后将它们存储到我的数据库中:
//Function to sanitize values received from the form. Prevents sql injection
function clean($str) {
    $str = @trim($str);
    if(get_magic_quotes_gpc()) {
        $str = stripslashes($str);
    }
    return MysqL_real_escape_string($str);
}

直到今天我还没有意识到MysqL_real_escape_string需要数据库连接,因为我在将数据存储到数据库之前清理数据时只使用了它.

我尝试在联系表单上使用该功能,并得到“无法建立到服务器的链接错误.我可以连接到数据库,但没有必要,因为我只是在通过联系表单发送到我的电子邮件之前尝试清理数据.

清理未存储在MysqL数据库中的数据的最佳方法是什么?这些数据是否仍需要清理?

使用filter_var()

http://php.net/manual/en/function.filter-var.php

就像你想要清理电子邮件一样:

$_POST['email'] =    filter_var($_POST['email'],FILTER_SANITIZE_EMAIL);

消息

$_POST['message'] = filter_var($_POST['message'],FILTER_SANITIZE_STRING);

是恩惠

猜你在找的PHP相关文章