简单的输入/输出:
保存到数据库后,我看到这些大文本:
答案 0 :(得分:2)
您必须担心所有用户输入。消毒。
图像取决于它们的来源。用户是否从预定义列表中插入图像?如果是,那么您可以添加一些逻辑来保存引用。具体应用。
我不确定图像是如何变成base64的。通常图像将是链接。然后保存链接是微不足道的。保存base64编码会占用大量数据库存储空间。和其他性能问题。想象一个条目有很多图像?
其他性能问题取决于您的应用程序。它是基于网络还是移动?以这种形式发送的用户在移动设备上占用大量带宽。想象一下,提交textarea表单要求用户根据图像数量上传兆字节。
如果将图像保存到您自己的系统很重要,您可以考虑在s3或其他情况下存储为公共可访问文件。然后链接到他们。
答案 1 :(得分:1)
使用富文本编辑器,您需要在将HTML保存到数据库之前对其进行清理。否则,您的站点很容易受到跨站点脚本(XSS)攻击,因为攻击者可以在a variety of different ways中将JavaScript注入页面。
为了防止这种情况发生,请使用经过充分测试的HTML卫生库(不要推销自己!)。一些好的卫生图书馆是:
答案 2 :(得分:0)
你应该将像iframe这样的东西列入黑名单,因为它可以用于XSS攻击。
检查:http://se2.php.net/manual/en/function.htmlspecialchars.php
答案 3 :(得分:0)
用户放入的是其他用户看到的内容。这是消毒的一个原因。您可能不希望提供包含恶意软件的网页。
清理的另一个原因是您自己的服务器。总是担心脚本和SQL注入攻击。