阅读背景:

[PHP] 文件上传过程中基于白名单、黑名单、基于MIME的认证以及目录认证

来源:互联网 

1.基于黑名单

<?php
	$BlackList = array('asp','php','jsp','php5','asa','aspx');//黑名单
	if (isset($_POST["submit"])){
		$name = $_FILES['file']['name']; //接收文件名
		echo $name;
		$extension = substr(strrchr($name,"."),1);//得到扩展名
		$boo = false;
		
		foreach ($BlackList as $key=>$value){
			if ($value==$extension){//迭代判断是否有命中
				$boo=true;
				break;//命中之后直接退出循环
			}
		}
		
		if(!$boo){//如果没有命中,则开始文件上传操作
			$size=$_FILES['file']['size'];//接收文件大小
			$tmp=$_FILES['file']['tmp_name'];//临时路径
			move_uploaded_file($tmp,$name);//移动临时文件到当前文件目录
			echo "文件上传成功!<br/> path:".$name;
		}else {
			echo "文件不合法!!";
		}
		
	}
?><?php
	$BlackList = array('asp','p



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: