文档详情

Web应用系统安全开发课件:文件的上传.pptx

发布:2025-04-10约2.57千字共8页下载文档
文本预览下载声明

Web应用系统安全开发

文件的上传;

1.文件上传概述

?所谓文件上传,就是将客户端的文件复制到服务器端。有了文件上传的功能,用户不仅可以为网站动态添加附件,还可以实现网站中相关图片、Flash动画、声音文件等的动态更新。

?需要注意的是,在处理上传的文件时需要注意安全性问题,例如检查上传的文件类型、大小、重名等,以防止恶意上传的文件危害服务器的安全。;

?在HTML语言中,用input标记创建一个文件域,语法格式如下:

formaction=upload_file.phpmethod=postenctype=multipart/form-datalabelfor=file文件名:/label

inputtype=filename=fileid=file//br/br

inputtype=submitname=submitvalue=提交/

/form

?上述文件上传表单页面显示,如图所示;

3.创建文件上传脚本

?用户通过客户端浏览器的上传表单提交之后,PHP将会自动生成一个$_FILES数组,其中保存了上传文件的信息。

“upload_file.php”文件含有供上传文件的代码,示例如下

?php

if($_FILES[file][error]0)

{

echoError:.$_FILES[file][error].br/;

}

else

{

echoUpload:.$_FILES[file][name].br/;

echoType:.$_FILES[file][type].br/;

echoSize:.($_FILES[file][size]/1024).Kbbr/;

echoStoredin:.$_FILES[file][tmp_name];

}

?

?上述文件上传页面提交之后,通过该PHP代码,运行结果如图所示;

4.创建文件上传限制

?针对上面脚本,我们来增加对文件上传的限制,示例如下

?php

if((($_FILES[file][type]==image/gif“)||($_FILES[file][type]==image/jpeg)||($_FILES[file][type]==image/pjpeg))($_FILES[file][size]2000000))

{

if($_FILES[file][error]0)

{

echoError:.$_FILES[file][error].br/;

}

else

{

echoUpload:.$_FILES[file][name].br/;

echoType:.$_FILES[file][type].br/;

echoSize:.($_FILES[file][size]/1024).Kbbr/;

echoStoredin:.$_FILES[file][tmp_name];

}

}

else

{

echoInvalidfile;

}

?;

5.保存上传的文件

?要保存被上传的文件,我们需要把它拷贝到指定的位置,语法格式如下boolmove_uploaded_file(string$filename,string$destination);

例如:

move_uploaded_file($_FILES[myfile][tmp_name],uploads/index.txt);;

?php

if((($_FILES[file][type]==image/gif)||($_FILES[file][type]==image/jpeg)||($_FILES[file][type]==image/pjpeg))($_FILES[file][size]2000000)){

if($_FILES[file][error]0)

{

echoReturnCode:.$_FILES[file][error].br/;

}

else

{

echoUpload:.$_FILES[file][name].br/;

echoType:.$_FILES[file][type].br/;

echoSize:.($_FILES[file][size]/1024).Kbbr/;

echoTempfile:.$_FILES[file][tmp_name].br/;

显示全部
相似文档