2

所以我一直在开发一个小系统,在这个系统中,用户可以在某个时候将一些 HTML 输入到 ckeditor 中,然后将 HTML 存储在数据库中(它有点像 microCMS)。

问题是当使用 Mysqli 时,它会在 " 和 ' 之前和之后插入转义字符,以便从逻辑上停止注入,这会破坏大量 HTML 代码。

例如

变成或接近那个,这会破坏代码

有没有办法可以禁用注入预防,或者以另一种方式将其输入数据库?或者当它从数据库中取出时,mabi 替换 /" ?

谢谢

-jman6495

编辑:我已经解决了我使用 php str_replace 函数将 /" 替换为 " 的问题。

这是代码: $pagecontent = str_replace('\"','"',$pagecontent); 回声$页面内容;

不管怎么说,还是要谢谢你

-jman6495

4

1 回答 1

1

如果您在取回数据时看到这些字符,那么您会以某种方式双重转义内容。检查您是否只转义一次,并使用占位符而不是mysql_real_escape_string. 你还没有解决问题。您已经消除了严重错误的损害。

SQL转义的目的是为了正确可靠地插入数据。例如,O'Reilly应该O''Reilly用于 MySQL。数据库中的实际内容应该O'Reilly引用无关。

于 2012-08-10T23:06:16.753 回答