所以我一直在开发一个小系统,用户可以在其中输入一些HTML到ckeditor,然后将HTML存储在数据库中(它是一种microCMS)。
问题是当使用Mysqli时,它会在“和”之前和之后插入转义字符,以便在逻辑上停止注入,这会破坏大量HTML代码。
例如
变 或接近那个破坏代码的东西
有没有办法可以禁用注入预防,或者以另一种方式将其输入数据库?或mabi取代/“从数据库中取出它?”
由于
-jman6495
编辑: 我已经解决了这个问题 我使用php str_replace函数替换了/“by”。
这是代码: $ pagecontent = str_replace('\“','”',$ pagecontent); echo $ pagecontent;
非常感谢
-jman6495
答案 0 :(得分:1)
如果您在获取数据时看到这些字符,则会以某种方式双重转义内容。检查您是否只转义一次,并使用占位符而不是mysql_real_escape_string
。你还没有解决问题。你没有完成一个严重错误的破坏。
SQL转义的目的是正确可靠地插入数据。例如,O'Reilly
对于MySQL应该是O''Reilly
。无论引用如何,数据库中的实际内容应为O'Reilly
。