在保存到数据库之前,我应该担心Richtext编辑器的内容吗?

时间:2014-03-11 07:28:07

标签: php mysql sql richtextbox

简单的输入/输出:

enter image description here

保存到数据库后,我看到这些大文本:

enter image description here

  1. 我的方法好吗?如果没有,请纠正我。
  2. 我是否必须上传图片?

4 个答案:

答案 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注入攻击。

相关问题