| 
 | |
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| -> PHP知识库 -> 文件上传漏洞php相关函数 -> 正文阅读 | 
|  | 
| [PHP知识库]文件上传漏洞php相关函数 | 
| 1.file_exists(path) 检查文件或目录是否存在。 
 如果指定的文件或目录存在则返回 TRUE,否则返回 FALSE 2.move_uploaded_file(file,newloc) 把上传的文件移动到新位置。 如果成功该函数返回 TRUE,如果失败则返回 FALSE。 
 3.在服务端对数据包的MIME进行检查 $_FILES['upload_file']['type'] == 'image/jpeg‘ 4.trim(string,charlist) 移除字符串两侧的空白字符或其他预定义字符。 
 5.deldot(s) 为upload-lab中一个常见的函数,它实际为一个自定义函数,定义于common.php中 
 函数定义如下: function deldot($s){
    for($i = strlen($s)-1;$i>0;$i--){
        $c = substr($s,$i,1);
        if($i == strlen($s)-1 and $c != '.'){
            return $s;
        }
?
        if($c != '.'){
            return substr($s,0,$i+1);
        }
    }
}即从字符串的尾部开始,从后向前删除点.,直到该字符串的末尾字符不是.为止。 6.strrchr(string,char) 查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。 
 7.strtolower(string) 把字符串转换为小写。 
 8.str_ireplace(find,replace,string,count) 替换字符串中的一些字符(不区分大小写)。 
 9.in_array(value,array,type) 搜索数组中是否存在指定的值。 
 
 
 11.strrpos(string,find,start) 查找字符串在另一字符串中最后一次出现的位置(区分大小写)。 
 返回字符串在另一字符串中最后一次出现的位置,如果没有找到字符串则返回 FALSE。字符串位置从 0 开始,不是从 1 开始。 12.fopen(filename,mode,include_path,context)打开一个文件或 URL。 如果 fopen() 失败,它将返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。 
 13.string fread ( resource $handle , int $length )读取打开的文件。 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。 该函数返回读取的字符串,如果失败则返回 FALSE。 
 14.fclose(file)函数关闭打开的文件。 该函数如果成功则返回 TRUE,如果失败则返回 FALSE。 
 15.unpack(format,data)函数从二进制字符串对数据进行解包。 
 如果成功则返回数组,如果失败则返回 FALSE。 16.int intval ( mixed $var [, int $base = 10 ] ) intval() 函数用于获取变量的整数值。 intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。 参数说明: 
 如果 base 是 0,通过检测 var 的格式来决定使用的进制: 
 17.getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。 getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。 18.image_type_to_extension — 根据指定的图像类型返回对应的后缀名。 image_type_to_extension(IMAGETYPE_PNG) 根据给定的常量 IMAGETYPE_XXX 返回后缀名。 18.stripos(string,find,start)函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。 
 返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。注释:字符串位置从 0 开始,不是从 1 开始。 19.int exif_imagetype( string $filename ) 该函数接受单个参数$filename,该参数保存图像的名称或URL 返回值:此函数返回与IMAGETYPE常量之一相对应的整数,如下所示: 
 20.basename(path,suffix)函数返回路径中的文件名部分。 
 21.resource imagecreatefromjpeg( string $filename ) 参数:该函数接受单个参数$filename,该参数保存图像的名称。返回值:成功时此函数返回图像资源标识符,错误时返回FALSE 22.unlink(filename,context)函数删除文件。 如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。 
 23.string strval ( mixed $var )函数用于获取变量的字符串值 参数说明: 
 24.bool imagejpeg( resource $image, int $to, int $quality ) 参数:此函数接受上述和以下所述的三个参数: 
 返回值:如果成功,此函数将返回TRUE,否则将返回FALSE。 第三个参数很重要,它决定了你重新生成的图片质量及大小。imagejpeg和imagegif,这个参数的范围是1-100,默认是100,数值越大,图片质量越高;imagepng是1-9 25.isUploadedFile() 如果文件尚未上载到web服务器上的/tmp,它将返回错误代码 26.pathinfo(path,options)返回的数组元素如下: 
 
 如果不是请求所有的元素,则 pathinfo() 函数返回字符串。 27.explode(separator,string,limit)函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。 
 28.reset() 函数将内部指针指向数组中的第一个元素,并输出。 | 
|  | 
| PHP知识库 最新文章 | 
| Laravel 下实现 Google 2fa 验证 | 
| UUCTF WP | 
| DASCTF10月 web | 
| XAMPP任意命令执行提升权限漏洞(CVE-2020- | 
| [GYCTF2020]Easyphp | 
| iwebsec靶场 代码执行关卡通关笔记 | 
| 多个线程同步执行,多个线程依次执行,多个 | 
| php 没事记录下常用方法 (TP5.1) | 
| php之jwt | 
| 2021-09-18 | 
|  | 
| 上一篇文章 下一篇文章 查看所有文章 | 
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/31 23:51:30- | 
| 
 | 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |