工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

能否不用mysql::real_escape_string()?

为了抵制客户端恶意攻击,我们常使用mysql::real_escape_string()(等同于mysql_real_escape_string())函数过滤数据,但这个函数需要连接数据库,感觉有些不爽!
能不能再不用连接数据库的情况下,对用户输入的数据进行类似的过滤呢?你也许会想到addslashes()和mysql_escape_string()这两个函数,但这两个函数还是不如real_escape_string()的功能那么完美,具体区别就不说了,这里抄来一个功能相仿的函数,给大家琢磨探讨。
[code language=php]
function my_real_escape_string(str)
{
    return strtr($str, array(
        "\x00" => '\x00',
        "\n" => '\n',
        "\r" => '\r',
        '\\' => '\\\\',
        "'" => "\'",
        '"' => '\"',
        "\x1a" => '\x1a'
    ));
}
[/code]

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):