MySQL_REAL_ESCAPE_STRING的限制
用法限制 与mysql_real_escape_scape_string是必须精确使用的。它旨在逃避旨在在SQL语句中单个引号中使用的文本值,如下所示:
的示例,该攻击可以绕过MySQL_REAL_ESCAPE_STRING在用于逃避数字值时会出现MySQL_REAL_ESCAPE_STRING。请考虑以下查询:mysql_query('从用户中delete user_id ='.mysql_real_escape_string($ input));
此查询将删除所有用户,因为“或1 = 1”条件始终是正确的。此攻击证明了根据上下文使用正确的数据类型和逃脱方法的重要性。不正确处理编码与mysql_real_escape_scape_string与字符eenting有关。如果数据库连接编码未正确设置,则可能会导致MySQL_REAL_ESCAPE_STRING逃脱字符串与数据库如何解释它们之间的不一致。这种差异可以在特定情况下创建漏洞,尤其是在处理多重细胞字符串时。[&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& && && && &&华建议使用替代方法,例如准备好的陈述,参数化查询或更现代的数据库API,以更强大的保护防止注射漏洞。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3