我如何防止SQL注入,但保持"和'?

Yes*_*day 1 php sql security sql-injection html-entities

如何在PHP中阻止sql注入但仍显示"和"?我正在使用的那一刻

$input = strip_tags($input);
$input = htmlentities($input);
Run Code Online (Sandbox Code Playgroud)

然而,输出是\"和\'.无论如何,我可以显示"和'没有斜线,但保持它们,所以我不注入?

Pek*_*ica 5

您显示的方法不是防止SQL注入的正确方法!

始终使用您正在使用的数据库库提供的卫生方法,例如,mysql_real_escape_string()如果您使用标准的mysql库.卫生方法不会改变最终结果中的任何字符.

或者,在PDO或mysqli中使用预准备语句 - 如果正确绑定传入数据,则会自动输入卫生设施.