ie下文件上传无权访问的问题

本文介绍了在Internet Explorer浏览器中使用JavaScript触发文件上传时遇到的权限问题,并解释了问题的原因在于IE不允许JS触发input=file的点击事件。

最近项目遇到个问题,ie下文件上传无权访问,在网上找了很久才找到答案,原来是因为ie下不能用js触发input=file的点击事件,必须手动点击才可以。

转载于:https://www.cnblogs.com/zjdeblog/p/6072815.html

### 解决文件上传漏洞引起的安全问题 #### 文件上传安全配置建议 为了防止由于文件上传功能不当实现而导致的安全风险,应采取一系列固定措施和安全配置: - **严格的MIME类型检查**:确保只允许特定类型的文件被上传。这不仅依赖于客户端的验证,更要在服务端严格校验文件头信息以及扩展名,以确认其真实性和安全性[^1]。 - **限制文件大小**:设定合理的最大文件尺寸上限,避免因为处理超大文件而消耗过多服务器资源或引发其他潜在威胁。 - **随机化存储路径**:对于成功上传后的文件,应该将其保存到一个由应用程序动态生成且难以预测的位置,并给予唯一的标识符而非原始名称,这样可以减少外部猜测并尝试直接访问的风险。 - **禁用执行权限**:如果可能的话,在操作系统层面移除任何已上载文件夹内的脚本执行能力,使得即使攻击者能够放置恶意代码也无法被执行。 - **实施输入过滤与清理机制**:对所有来自用户的输入数据进行全面清洗,去除不必要的字符序列特别是那些可用于注入攻击的内容,比如SQL语句片段或是HTML标签等。 - **采用白名单策略控制访问**:通过防火墙或其他网络边界防护工具定义合法请求源地址列表(即IP白名单),阻止非法来源发起的操作;同也要注意内部网段间的隔离保护[^2]。 - **启用SSL/TLS加密通信协议**:保障传输过程中敏感信息不被窃听篡改的同也增强了身份认证环节的安全性,特别是在涉及账户登录等功能模块显得尤为重要。 ```python import os from werkzeug.utils import secure_filename def allowed_file(filename, ALLOWED_EXTENSIONS={'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}): return '.' in filename and \ filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS @app.route('/upload', methods=['POST']) def upload_file(): if request.method == 'POST': # check if the post request has the file part if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] # If the user does not select a file, the browser submits an # empty file without a filename. if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) return 'File successfully uploaded' else: return "Invalid file type" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值