为了抵制客户端恶意攻击,我们常使用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]