`

上传文件时禁止用户手动输入

    博客分类:
  • Html
 
阅读更多

常规的Web应用程序中涉及到文件上传的部分都不可避免地会使用到<input type="file"/>控件,在上传文件的时候通过点击“浏览”按钮,在弹出的文件选择对话框中选择本地要上传的文件。当然,如果你已经知道要上传的文件的本地路径,也可以复制路径到控件的输入框中(例如要选择的文件的路径特别长)。这就存在一个问题,如果你所复制的文件路径根本不存在,那么上传的时候就无法正确获取到文件,而且在javascript中没有判断该控件所选择的文件是否存在的方法,涉及到浏览器的安全性,大多数时候我们是不能通过javascript来操作客户端本地文件的。

那么如何解决该问题呢?

其实在FireFox和IE8中已经对这个控件进行了相应的限制,如果你在这两种浏览器中查看带有<input type="file"/>标签的页面,会看到根本不允许用户直接输入,而只能通过点击“浏览”按钮来选择文件,这样就可以有效地确保用户所选文件的合法性。但是在IE7和一些低版本的浏览器中仍然是可以输入的,这个时候就需要对这个控件进行一些限制,下面是可以采用的方法:

 

 

2. 使用脚本事件限制控件输入

将<input type="file"/>控件的鼠标右键菜单、按键事件限制住,不让用户有机会输入。

<input type="file" onkeydown="return false" onkeyup="return false" oncontextmenu="return false">

 

3. 使用contenteditable属性

使用该属性可以有效地限制用户在<input type="file"/>控件中手动输入内容,而只能通过文件选择对话框选择文件。

<input type="file" id="file1" contenteditable="false" />

分享到:
评论

相关推荐

    FileUpload 控件禁止手动输入的方法

    对于***的服务器控件,比如,同样可以在控件的属性中添加onkeydown和onpaste事件来实现禁止手动输入的功能。具体的代码示例如下: ```html ;" onpaste="return false" /&gt; ``` 这行代码将在服务器端呈现为一个普通...

    FileUpload 控件 禁止手动输入或粘贴的实现代码

    禁止手动输入 在HTML中,可以使用`&lt;input&gt;`标签的`onkeydown`事件来阻止用户键盘输入。`onkeydown`事件会在用户按下键盘键时触发,通过设置`event.returnValue`为`false`,可以阻止该事件的默认行为,即输入字符到...

    架设文件服务器

    特别是当文件服务器上有成百上千个用户文件夹,每个文件夹内又有多个使用者时,手动重新设置权限将非常耗时。 **解决方案**:可以利用Windows Server 2003系统自带的Xcopy命令,结合特定参数实现权限的迁移。 1. *...

    JS简单实现文件上传实例代码(无需插件)

    - 当文件被选中后,可以通过监听`change`事件来获取用户选择的文件信息,并进行后续处理,如预览文件、上传文件到服务器等。 6. **安全限制** - 浏览器的安全策略可能会限制隐藏的文件输入元素,如Chrome的安全...

    易优robots文件生成器插件.zip

    通过使用此插件,用户无需手动编写或编辑这个文件,能够更方便地控制搜索引擎的索引范围,优化网站的SEO(搜索引擎优化)策略。 在易优CMS中安装"易优robots文件生成器插件"的步骤如下: 1. 首先,你需要解压下载...

    威纶通触摸屏没有密码无法上传和下载时,如何恢复出厂设置?.docx

    - 系统进一步提示项目将被删除,需手动输入“Yes”确认操作。 ##### 第八步:清除源程序并重启 - 输入“Yes”并点击“OK”按钮,触摸屏将清除源程序并重启。 - 当看到右下角的箭头时,表示已成功恢复出厂设置。 ##...

    Serv-U_8.0添加匿名用户技巧

    例如,你可以允许匿名用户只读取某些目录,而禁止他们上传或修改文件。 6. **保存设置**:完成以上步骤后,点击“保存”按钮, Serv-U 会保存你的设置,并创建匿名用户。此时,匿名用户就已经添加成功,任何知道...

    delphi界面设计规范

    - **日期格式**:统一日期显示格式为"yyyy-mm-dd",日期控件禁止手动输入。 - **数值输入**:仅允许输入0~9及功能键,如BackSpace。 3. **用户界面行为设计规范** - **鼠标交互**:鼠标状态应根据操作状态变化,...

    Ubuntu下vsftpd的配置与使用.pdf

    * write_enable=YES:允许用户上传文件 * chroot_local_user=YES:将用户限制在其家目录中 六、vsftpd 配置文件列表 vsftpd 的配置文件列表包括: * /etc/vsftpd/vsftpd.conf:主配置文件 * /usr/sbin/vsftpd:...

    FileZilla安装和使用说明.doc

    在用户属性中,你可以设置读写权限,允许或禁止用户上传、下载,甚至限制他们的带宽,以控制FTP服务器的使用情况。 此外,FileZilla Server还支持多用户同时登录,可以监控每个用户的活动,查看其上传和下载的文件...

    密码管家 - 最强大的密码管理助手(2012年2月2日重新上传v2.5.0)

    由于v2.0.0新增了密码收藏功能并禁止了记录列表里存在同名记录,使数据库结构有稍许变化,只是覆盖升级的话会造成新版运行出现异常,所以强烈建议旧版用户在升级时采用全新安装的方式,提供步骤如下:首先确保密码...

    云盘提取码小程序1.1

    这些云盘服务为了保护用户数据的安全,通常会为上传的文件设置一个提取码,只有输入正确的提取码,其他人才能访问或下载这些文件。因此,当收到他人分享的云盘链接时,如果没有提供提取码,我们往往需要通过其他方式...

    vsftpd ubuntu14.04服务端配置手册

    1. **创建虚拟用户文件**:在 `/etc/vsftpd` 目录下(如果不存在,请手动创建)创建一个名为 `vftpuser.txt` 的文本文件。 ``` sudo gedit /etc/vsftpd/vftpuser.txt ``` 2. **添加虚拟用户和密码**:在文件中...

    VSFTP服务器[参考].pdf

    3. `/etc/vsftpd.user_list`:此文件类似于`ftpusers`,但提供了更灵活的控制,可以禁止或允许指定用户或IP地址访问。 VSFTP的配置文件具有丰富的选项,可以根据具体需求调整,如限制用户权限、设置上传下载速率、...

    sesu linux FTP安装步骤图文教程

    本文将详细阐述如何在SUSE Linux上安装和配置FTP服务器,以实现本地用户登录并允许上传文件。 **1. 安装FTP服务** 首先,打开YaST控制中心,进入“软件”分类,然后选择“软件管理”。在这里,我们可以利用过滤...

    RedHat下安装及配置vsftp

    - **限定上传目录**:用户上传的文件必须位于指定目录下,防止访问其他敏感区域。 #### 2. 安装vsftp 在RedHat下安装vsftp,首先需要从光盘获取安装包,或者通过网络资源下载。假设已获取到`vsftpd-2.2.2-11.el6.i...

    Web渗透测试(整个全流程).pdf

    建议使用白名单控制,禁止上传目录有执行权限,以及随机重命名上传文件。 - **命令注入漏洞**:测试系统命令执行的防护,避免用户输入特殊语句执行恶意命令。推荐使用白名单,过滤危险字符。 - **SQL注入漏洞**:...

    ftp使用文档

    例如,上传文件可以使用`Put`方法,而下载文件则使用`Get`方法。 C#中的FTP实现代码片段如下: ```csharp using System; using System.IO; using System.Net; class Program { static void Main() { string ...

    wingftp软件在windows 环境下构建FTP服务器

    - 限制用户权限,比如禁止删除文件、仅允许读取等。 - 定期备份服务器配置和用户数据,以防意外丢失。 完成以上步骤后,你就成功地在Windows环境中构建了一个基于WingFTP的FTP服务器,可以对外提供文件传输服务。...

Global site tag (gtag.js) - Google Analytics