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);

是恩惠

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...