当变量$ subject具有单引号时,不插入此查询.有可能的解决方案吗?
mysql_query("INSERT INTO table (to_email_id,subject) values('$to','$subject');");
Run Code Online (Sandbox Code Playgroud)
例如,考虑使用PDO使用参数化查询.
或者,将变量括在括号{}中.
编辑:
我错过了你的变量$subject 包含单引号.这意味着你必须逃脱它们.(请参阅无数其他答案以及相关mysql_real_escape_string()内容.)但是正如您所看到的,变量内部的单引号正是注入攻击的工作原理.转义它们有助于防止此类问题,并允许您的查询存储预期的数据.
没有引用Bobby Tables就没有关于注入攻击的答案.