【发布时间】:2018-01-23 23:08:02
【问题描述】:
我目前在客户端有一个 ValidationExpression,它(在某种程度上)限制用户上传除 (.txt) 文件以外的任何内容。
^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.txt)$
我想知道,由于此验证器限制了一些特殊字符,如果我的一个用户将他希望上传的文件放在名称中包含特殊字符的文件夹中,我会遇到麻烦吗?
我想知道是否有更好的 ValidationExpression 可以在客户端使用,以防止给我的用户带来任何不便。我正在设置服务器端验证,但我仍然希望有一个好的客户端验证器,它允许使用风险不大的特殊字符。
谁有好的解决方案?
【问题讨论】:
-
您能否举一些有效和无效输入的示例,特别是您认为可能导致问题的输入?
-
好吧,我担心脚本会以某种方式传递,或者在使用特殊字符时遇到任何兼容性问题,我在想也许有人可以重命名文件夹
-
为什么不使用
<asp:FileUpload ID="FileUpload1" runat="server" accept=".txt" />之类的东西?是的,用户始终可以选择all files,但无论如何您都必须进行服务器端验证,所以为什么要让自己变得困难。甚至可以轻松绕过脚本。 -
@VDWWD 我目前确实在验证器上使用了 accept=".txt" 。接受上传的文件时接受所有字符是否没有风险?
-
字符和上传的文件没有任何关系。您检查、重命名文件并将其存储在您自己的路径服务器端。
标签: asp.net regex validation file-upload special-characters