我已经为每个用户输入使用mysqli_real_escape_string
。我确实尝试在textarea
中输入以下值,该值后来打算存储在数据库中。
Something'); DROP TABLE table_name;--
它没有从数据库中删除table_name
,并且值的存储方式与其中一个表中的Something'); DROP TABLE table_name;--
完全相同。没有角色被逃脱。这让我怀疑mysqli_real_escape_string
是否真的有效。
即使我们通过mysqli_real_escape_string
运行输入,用户输入是否保存而不转义任何字符?
如果输入确实与转义字符一起保存,为什么保存查询而我的情况没有任何变化?我做错了吗?