上周,周四确切地说,我们的autogen php / mysql web表单有一个textarea字段,我们使用tinyMCE来允许客户端输入和格式化他们的文本。星期四突然,文本不会出现在窗体中,以及显示模式下围绕textarea数据的边框,但是当我们进入tinyMCE字段所在的编辑屏幕时,我们可以看到文本。我今天进来看了db并看到db中的所有这些奇怪的代码[见下文]
我用直接,干净的文本覆盖了代码,加载了它工作的页面,但最终还是恢复了这个奇怪的代码 - 在某些时候你刷新浏览器,不再看到php表单中的任何文本。当我再次查看数据库时,所有这些代码[见下文]都回到了现场。
我一直在冲浪/研究,各种建议包括更新tinyMCE,我做了,但同样的事情发生了。
有谁知道我应该做什么,要攻击的代码的哪一部分,是db还是tinyMCE?非常感谢所有帮助。 [注意:app已经成功运行了大约2年。]
> <p><!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG />
> </o:OfficeDocumentSettings> </xml><![endif]--><!--[if gte mso 9]><xml>
> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom>
> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning />
> <w:ValidateAgainstSchemas />
> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
> <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
> <w:DoNotPromoteQF />
答案 0 :(得分:3)
当人们直接从单词复制并粘贴到TinyMCE中时,会发生这种情况,没有比这更邪恶的了。
答案 1 :(得分:0)
你应该检查tinymce和你的数据库之间的接口,看看数据是否直接来自tinymce,或者数据是否在去往数据库的路上被修改。
顺便说一句,奇怪的代码看起来像是从Word生成的HTML。
答案 2 :(得分:0)
最后!最终发现了什么错误 - 会话对象中存储的数据量存在大小限制。根据RFC 2109,此大小限制为4KB。就是这样。我知道我在某个地方遇到了一些限制,最终弄清楚它在哪里。不得不重写一些代码,所以我只能拉这些文本部分而不依赖于会话中存储的数据。