HTML文本区与图像上传

本文关键字:图像 文本区 HTML | 更新日期: 2023-09-27 18:13:19

我目前需要开发一个网站,允许用户输入信息和图像到<textarea>然后保存到数据库。这些数据将显示在另一个页面中。

我想使用AJAX上传文件,然后将<img>附加到<textarea>。但是这种方法会产生SQL注入安全威胁。

所以我需要一个关于如何实现这一点的建议,但仍然可以摆脱SQL注入。

HTML文本区与图像上传

当用户上传图像时,只需执行以下操作,您就可以安全地将图像HTML附加到文本区域:

  1. 用户上传的是有效的JPG/GIF/PNG/x图像吗?(使用图像库验证)
  2. 将图像重命名为"安全"的内容,如CRC32 +当前时间(以微秒为单位),因此文件名是无害的。
  3. 将新名称的图片放到一个可以服务的位置。

你会发现你不能使用ajax上传文件-你会想要找到一个插件。我建议你看看https://github.com/blueimp/jQuery-File-Upload/wiki——尽管它可能有太多的功能。甚至还有一个mvc的例子!https://github.com/maxpavlov/jQuery-File-Upload.MVC3

上传图像后,我想您可以触发另一个ajax事件来检索图像,然后将其显示在文本区域旁边的div中。

就安全问题而言,我被告知允许用户上传文件本质上是不安全的。详见https://github.com/blueimp/jQuery-File-Upload/wiki/Security

我为多余的链接道歉。另外,如果您要存储许多不经常访问的文件,您可能需要考虑将这些文件保存到磁盘上。ie。将它们写入网络位置,并将文件名存储在表中(将文件保存在带有GUID的磁盘上)。

ie。表UserFileLocations

PK | UserFileName | DiskID

1 . .n | tree.jpg | ServerPath/Folder/103c-aa34-0ac2-01cd…