- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
项目六安全的文件上传Web安全与防护本任务要点学习目标什么是文件上传实现简单的文件上传文件上传的原理理解文件上传的基本概念和用途。掌握文件上传的基本实现步骤。了解防护文件上传的安全风险任务一什么是文件上传
目录CONTENTS01/什么是文件上传02/简单的文件上传03/文件上传的类型04/文件上传的数据存储05/文件上传的三阶段
什么是文件上传01图片上传文档上传音频上传视频上传其他类型文件上传是指将本地的文件通过网络传输到服务器或其他设备的过程。通俗的说就是将你的电脑或手机上的文件,比如图片、文档、音乐等,通过网络发送给服务器或其他设备,这样就可以在其他地方访问或下载这些文件。举个例子,如果你想把你的照片分享给朋友,你可以用微信或QQ等软件上传照片,然后发送给对方,对方就可以看到你的照片了。文件上传有不同的类型,主要取决于你上传的文件是什么格式和大小。
简单的文件上传02demonstration/study_upload01.php在实现文件上传的第一步是创建文件上传页,该页面允许用户上传不同类型的文件。创建上传页面:首先创建一个页面,允许用户上传文件。判断请求方法:使用if语句检查请求方法是否为POST。获取文件信息:文件名:获取上传的文件名,存入$fileName。临时路径:获取临时文件路径,存入$fileTmpName。文件大小和类型:分别存入$fileSize和$filetype设置上传目录:指定文件保存的目录为“uploads/”,赋值给$targetDir。构造完整路径:将目录和文件名结合,形成$targetFilePath。移动文件:使用move_uploaded_file将文件移至目标路径成功:输出“文件上传成功”。失败:输出“上传文件失败”。
简单的文件上传02代码的第二部分是一个HTML表单,用于让用户选择要上传的文件,并提交到服务器。属性说明action指定表单提交的目标页面,这里是uploader.php,即本页面。method指定表单提交的方法,这里是POST。enctype指定表单数据的编码类型,这里是multipart/form-data,必须设置为这个值才能上传文件。inputtype=“file”用于让用户选择要上传的文件,name属性指定了文件数据的键名,这里是fileToUpload。inputtype=“submit”用于让用户提交表单,value属性指定了按钮上显示的文字,这里是“上传文件”。由此就构成了一个简单的文件上传,然而这段代码的文件上传漏洞是没有对上传文件的类型和内容进行任何验证,这可能导致恶意用户上传可执行的代码文件,例如PHP、ASP或JSP等,然后通过访问这些文件来执行任意的命令或代码,从而对服务器造成破坏或泄露敏感信息。
文件上传的类型03文件上传是前端不能直接操作本地文件,必须要用户来触发,一般有以下3种触发方式(1)通过文件选择按钮选择本地文件(2)通过拖拽的方式把文件拖进来(3)在编辑框里复制粘贴
文件上传的数据存储04文件上传数据的存储是指请求端和接收端如何交换和保存文件数据的过程。一般来说,请求端提供了一个表单,用户可以选择要上传的文件,然后提交请求。请求端会将文件数据和其他表单信息编码并上传至接收端,接收端将上传的内容进行解码,提取出HTML表单中的信息,将文件数据存入指定的位置。
文件上传的三阶段051)前端准备阶段:前端准备阶段是指在请求端中,用户选择要上传的文件,然后进行格式化和预处理。在这个阶段中,前端需要获取用户选择的文件,通常可以通过input标签和type属性设置为File来实现。用户选择文件后,前端需要将文件转换为Blob或者File对象,File对象会包含文件的一些元信息,比如文件名、大小、类型等。在上传之前,前端可能还需要对文件进行压缩、加密、格式转换等操作,以便于上传。最后,前端需要将文件数据封装成multipart/form-data的类型,并发送HTTP请求到接收端。
文件上传的三阶段052)请求发送阶段:请求发送阶段是指前端将文件数据封装成HTTP请求,然后发送给后端的过程。在这个阶段中,前端需要按照multipart/form-data规范将文件数据封装成请求体,并设置相应的请求头信息,如Content-Type、Content-Disposition等。其中,Content-Type用于指定请求体的类型为multipart/form-data,boundary用于分割请求体的不同部分;Content-Disposition用于指定每个部分的类型,名称和文件名等元信息。在发送请求时,前端可以使用XMLHttpRequest对象或FetchAPI来发送H
您可能关注的文档
- 人工智能通识 课件01 初识人工智能、02 解锁生成式人工智能(AIGC)的奥秘.pptx
- 人工智能通识 课件03 AIGC核心之语言大模型、04 驾驭AIGC提示词工程(Prompt)、05 内容生成之使用文心一言编写活动总结.pptx
- 人工智能通识 课件06 内容生成之借助天工AI创作实现高效创作、07 内容生成之使用WPS AI编写实践调研报告.pptx
- 人工智能通识 课件08 图形生成之使用海艺AI制作活动背景图、09 视频生成之使用腾讯智影制作作品解说视频.pptx
- 人工智能通识 课件10 视频生成之使用万彩AI生成产品简介、11 文本阅读之使用Kimi AI进行多文本阅读.pptx
- 人工智能通识 课件11 文本阅读之使用Kimi AI进行多文本阅读、12 AIGC安全与伦理.pptx
- Web安全与防护 (微课版) 课件 02-1 项目二 任务一登录认证功能实现、02-2 项目二 任务二登录认证漏洞形成原理.pptx
- Web安全与防护 (微课版) 课件 02-3 项目二 任务三登录认证漏洞检测与验证、02-4 项目二 任务四安全的登录认证.pptx
- Web安全与防护 (微课版) 课件 03-1 项目三 任务一登录认证功能实现;03-2 项目三 任务二SQL注入漏洞分类的理解.pptx
- Web安全与防护 (微课版) 课件 03-3 项目三 任务三SQL注入漏洞检测与验证;03-4 项目四 任务四SQL注入漏洞修复与规范.pptx
最近下载
- 7.2 化石能源的合理利用课件(共38张PPT内嵌视频)-2024-2025学年九年级化学人教版上册.pptx
- 国开电大商法.docx VIP
- 《国宝大熊猫》PPT.ppt
- 柴油机零部件图册.docx
- 2025国家开放大学电大专科《西方经济学》期末试题及答案(试卷号:2143).docx VIP
- GB 50147-2010 电气装置安装工程高压电器施工及验收规范.docx
- 幼儿园听课记录表40篇.docx
- 2022-2023学年江苏省南京市玄武区八年级(上)期末英语试卷(含详细答案解析).docx
- 说明书980td安装连接手册.pdf
- DG-TJ08-2261-2018住宅修缮工程施工质量验收规程.docx
文档评论(0)