上传服务器上的文件夹中的文件是否安全

问题描述:

我有一个简单的查询,希望它听起来不笨,但只是想知道它。我已经建立了一个模块,在这个模块中你可以上传文件(照片,docx,xl​​xs,pdf等)到服务器文件夹中,数据和链接进入sqlserver数据库。现在我想知道的是服务器文件夹内的这些文件是安全的还是任何人都可以破解服务器并进入文件夹并擦除所有文件?真的想知道它,请分享你的经验。上传服务器上的文件夹中的文件是否安全

+1

一般来说,答案是,不,他们不安全。您需要提供更多有关您的特定设置,应用程序和环境的信息,以充分推测您的特定情况 - 可能需要更多信息,而不是很适合解决某个问题。尝试找出您可能拥有的较小问题/问题,并提供更多关于它们的信息。 –

+0

@ Christian.K好吧,如果我的问题不相关,并且抱歉,如果我无法达到质疑的标准,我刚刚开始。实际上,我有一个使用C#.NET框架构建的网站,并且已经购买了域名并托管了我的网站,当我从我制作的模块上传照片时,照片会进入我托管我的网站的服务器的文件夹内,有关照片和url链接来检索照片的详细信息进入sqlserver数据库。所以只是想知道它是否安全,如果不是保证安全的其他方式。 –

+0

@ Christian.K当我们在Facebook上传照片时,还有一件事是如何保存的?它是否被加密并进入数据库?或者它是如何完成的? –

有关如何上传/保存/接收照片你的问题:

  • 在你看来,你要使用的输入文件HTML对象:

    <输入型=“file”id =“image”name =“image”>

  • 用户将点击文件上传按钮并选择要上传的本地文件。所以,你需要再通过一个请求在您的服务器端代码使用控制器方法接收图像:

    [HttpPost] 
    public ActionResult GetImageRequest() 
    { 
        HttpPostedFileBase hpf = Request.Files["image"]; 
        if (hpf != null && hpf.ContentLength > 0) 
        { 
         using (var binaryReader = new BinaryReader(hpf.InputStream)) 
         { 
          byte[] imageFile = 
           binaryReader.ReadBytes(hpf.ContentLength); 
         } 
    
         UploadImage(imageFile);     
        } 
        return RedirectToAction("Index"); 
    } 
    
  • 接下来,您将发送图像的字节数组(byte []镜像文件)到另一种上传过程将实际发生的方法。您可以将其上载到数据库表(DB对象的数据类型为varbinary(MAX))。您也可以将其上传到Web服务器上的可访问文件夹。对于上传到我的Web服务器,我倾向于使用FileStream。