MultipartFile - 如何检测用户机器
问题描述:
我面临着以下问题上文件的真实路径:我用MultipartFile与像电子邮件等MultipartFile - 如何检测用户机器
一些其他信息,以透过图像考虑的情况时,我们有两个字段:输入=带有电子邮件的文本和用文件输入(输入类型=文件)。在服务器端,我有验证,检查电子邮件。现在想象一下,用户输入了无效的电子邮件,已经选择了他想上传的文件并提交了一份表单。在该服务器识别出该电子邮件无效并返回用户以前输入的电子邮件输入被满足的页面(很容易支持使用DTO)但文件输入为空(DTO包含存储先前由用户上载的文件的MultipartFile字段)的页面。我认为它是一个不好的做法,发送文件路径与文件,因为这是不安全的,因为MultipartFile可能不存储文件路径。你能提出一个提示如何处理这种情况?谢谢!
答
上传文件的完整路径在服务器端没有意义,它可能被视为敏感数据(完整路径可能包含用户名等)。
表单中的基本文件上传器和HTML <input>
标记与type=file
不会发送完整路径,您也不应该。
编辑(响应您的编辑):
您可以检查您的形式在客户端(JavaScript)的其他领域您提交表单之前。如果有任何内容无效,请提醒用户并且不要提交表单。
或者您可以通过AJAX调用提交表单数据并在服务器端执行检查/验证。
一个例子可以帮助我们理解..... – 2014-09-03 09:32:47
考虑一个情况,当我们有两个字段:输入=文本与电子邮件和输入与文件(输入类型=文件)。在服务器端,我有验证,检查电子邮件。现在想象一下,用户输入了无效的电子邮件,已经选择了他想上传的文件并提交了一份表单。在该服务器识别出该电子邮件无效并返回其中用户以前输入的值满足电子邮件输入的页面(很容易支持使用dtos),但文件输入为空。 – 2014-09-03 09:41:34
请不要澄清作为评论,但延长你的最初的问题,所有的信息组合在一起。 – 2014-09-03 09:42:22