问:我是一个新手php程序员。
get_magic_quotes_gpc()函数已弃用;有什么功能或方法可以创建后缀来防止sql注入?
任何提示和建议都会有所帮助。谢谢
/ =======这是PHP MANUAL函数的功能quote_smart($ value,$ handle){//如果(get_magic_quotes_gpc()),则为反斜杠{$ value = stripslashes($ value); } //如果不是整数,则引用if(!is_numeric($ value)){$ value =“'”。mysql_real_escape_string($ value,$ handle)。“'”; }返回$ value; }
// ======= PHP手册的功能结束
答:您可以使用htmlentities()方法代替get_magic_quotes_gpc()。这将有助于防止sql注入。例如
如果(isset($ _ POST)){
$ post =新的httppost($ _ POST);
echo htmlentities($ post-> value ['field_name']);
}
如果您仍然遇到任何问题。让我知道。
答:问题是您使用的PHP版本5.4或更高版本已弃用该功能。
您有2个选项。1.首先是切换回5.3版或更低版本。2.其次是将代码放在检查PHP版本的条件下。
函数quote_smart($ value,$ handle){
//斜线
if(phpversion()<“ 5.3”)
{
如果(get_magic_quotes_gpc()){
$ value = stripslashes($ value);
}
}
//如果不是整数则引用
如果(!is_numeric($ value)){
$ value =“'”。mysql_real_escape_string($ value,$ handle)。“'”;
}
返回$ value;
}
希望这可以帮助。