Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带图像上传的HTML文本区_C#_Jquery_Asp.net Mvc 3 - Fatal编程技术网

C# 带图像上传的HTML文本区

C# 带图像上传的HTML文本区,c#,jquery,asp.net-mvc-3,C#,Jquery,Asp.net Mvc 3,我目前需要开发一个网站,允许用户将信息和图像输入,然后保存到数据库中。这些数据将显示在另一个页面中 我想使用AJAX上传文件,然后将附加到。但这种方法会产生SQL注入安全威胁 因此,我需要一个关于如何实现这一点的建议,但仍然可以摆脱SQL注入。当用户上载图像时,只需执行以下操作,您就可以安全地将图像HTML附加到文本区域: 用户是否上载了有效的JPG/GIF/PNG/x图像?(使用图像库来验证这一点。) 将图像重命名为“安全”的名称,例如其内容的CRC32+当前时间(以微秒为单位),以便文件名是

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

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


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

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

  • 用户是否上载了有效的JPG/GIF/PNG/x图像?(使用图像库来验证这一点。)
  • 将图像重命名为“安全”的名称,例如其内容的CRC32+当前时间(以微秒为单位),以便文件名是无害的
  • 将具有新名称的图像放置在可以提供服务的位置

  • 你会发现你不能使用ajax上传文件-你会想找到一个插件。我建议看一下——尽管它可能有太多的功能。甚至还有一个mvc3的例子

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

    就安全问题而言,我被告知允许用户上传文件本质上是不安全的。有关更多详细信息,请参阅

    我为多余的链接道歉。此外,如果您存储了许多不频繁访问的文件,您可能需要考虑将文件保存到磁盘。例如,将它们写入网络位置并将文件名存储在表中(使用GUID将文件保存在磁盘上)

    即表UserFileLocations

    PK |用户文件名|磁盘ID

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

    这个建议和所有其他防止sql注入的方法一样,即使用准备好的语句和参数化查询。这是一个服务器端问题。你用的是哪种编程语言?@Juhana我用的是MVC3和C#@BojanKovacevic谢谢你的建议,你是对的。预处理语句和参数化查询可以摆脱SQL注入,但让我担心的是,仅仅通过查询就可以正确显示图像吗?就像选择它并将结果放入div,图像将显示properlyNice插件,先生!非常感谢你的帮助。我试试看