首页 > 编程语言 >第24天:安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制

第24天:安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制

时间:2024-02-14 09:55:05浏览次数:22  
标签:24 FILES 文件 访问控制 表单 过滤 PHP 上传

#文件管理模块-上传-过滤机制

1、无过滤机制

2、黑名单过滤机制

3、白名单过滤机制

4、文件类型过滤机制

 

$_FILES:PHP中一个预定义的超全局变量,用于在上传文件时从客户端接收文件,并将其保存到服务器上。它是一个包含上传文件信息的数组,包括文件名、类型、大小、临时文件名等信息。

$_FILES["表单值"]["name"] 获取上传文件原始名称

$_FILES["表单值"]["type"] 获取上传文件MIME类型

$_FILES["表单值"]["size"] 获取上传文件字节单位大小

$_FILES["表单值"]["tmp_name"] 获取上传的临时副本文件名

$_FILES["表单值"]["error"] 获取上传时发生的错误代码

move_uploaded_file() 将上传的文件移动到指定位置的函数

 

#文件管理模块-显示-过滤机制

功能:显示 上传 下载 删除 编辑 包含等

1.打开目录读取文件列表

2.递归循环读取文件列表

3.判断是文件还是文件夹

4.PHP.INI目录访问控制

 

is_dir() 函数用于检查指定的路径是否是一个目录

opendir() 函数用于打开指定的目录,返回句柄,用来读取目录中的文件和子目录

readdir() 函数用于从打开的目录句柄中读取目录中的文件和子目录

open_basedir:PHP.INI中的设置用来控制脚本程序访问目录

标签:24,FILES,文件,访问控制,表单,过滤,PHP,上传
From: https://www.cnblogs.com/CVE-2003/p/18015015

相关文章

  • day24_磁盘管理
    磁盘管理学习磁盘管理的背景数据存储也是网站架构中的一大重点,关于存储方案,我们需要考虑到,硬件、软件硬件角度存储的读写性能固态硬盘、机械磁盘的抉择存储的数据备份,数据安全性raid磁盘阵列技术存储的数据扩容,合理的磁盘容量管理,磁盘满了怎么办软件角度系......
  • UVA12467 Secret Word 题解
    题目传送门前置知识前缀函数与KMP算法解法考虑将\(S\)翻转后得到\(S'\),然后就转化为求\(S'\)的一个最长子串使得其是\(S\)的前缀。使用KMP求解即可。代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#defineullunsignedlonglong#d......
  • 2024牛客寒假算法基础集训营3
    M题智乃的36倍数(normalversion)错解幂运算写成了乘~#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#defineintlonglong#definedebug(x)cout<<x<<""<<endl;#define_debug(a,n)for(inti=0;i<n;i++)......
  • Go语言精进之路读书笔记第24条——方法集合决定接口实现
    24.1方法集合方法决定接口实现:如果某个自定义类型T的方法集合是某个接口类型的方法集合的超集,那么就说类型T实现了该接口,并且类型T的变量可以赋值给该接口类型的变量Go语言规范,对于非接口类型的自定义类型T:类型T,方法集合由所有receiver为T类型的方法组成类型*T,方法集合由所......
  • 2024年初找新SAP项目的几个体会
    2024年初找新SAP项目的几个体会 1.一定要找业界知名大型乙方实施公司的项目。比如IBM,AC,凯捷或者印度公司比如TCS,InfoSys等业界知名外企乙方公司的项目,都是相对靠谱的。这些大公司能够拿下业界土豪客户比如跨国外企的项目,因为他们牌子大业界口碑好,能得到不差钱大客户的亲赖和......
  • Codeforces Round 924 (Div. 2)
    B.Equalize与数组的原始顺序无关,直接排序,然后用双指针滑动范围a[r]-a[l]小于n#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;voidsolve(){ intn; cin>>n; set<int>st; for(inti=1;i<=n;i++){ intx; cin>>x; st.insert(x); } ......
  • 2024/2/12学习进度笔记
    sparkrdd持久化frompysparkimportSparkContext,SparkConfimportosimportrefrompyspark.storagelevelimportStorageLevelos.environ['SPARK_HOME']='/export/server/spark'PYSPARK_PYTHON="/root/anaconda3/envs/pyspark_env/bin......
  • WC 2024 游记
    WC2024游记Day-2~Day-1在酒店颓废。Day0不存在的一天。Day1报到日。上午从酒店搬了出来(行李箱好重qvq)。坐上了cq神奇的地铁(轻轨),看着地铁上天下地的感觉还是很奇妙的。大抵是中午的时候到了育才。离育才最近的地铁口可以坐环线(转圈圈!),cq地铁真神奇。到了门口发现每......
  • php调用sql server过程记录
    更新微软源,需要安装微软的底层库curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/mssqlrelease.repo安装依赖底层库yuminstall-ymsodbcsqlmssql-toolsunixODBC-devel根据php版本选择对应的pdo_sqlsrv扩展版本,查询地址为http://pecl.ph......
  • 2024牛客寒假算法基础集训营1
    2024牛客寒假算法基础集训营1A解题思路:按照\(dfs\)出现顺序暴力判断即可。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;usingpiii=pair<ll,pai......