上传文件时过滤脚本,哈希验证成功则可下载文件
1、过滤脚本(及过滤脚本拓展名)
//脚本过滤结束
if(array_search("html",$arr) ||array_search("php",$arr) ||array_search("js",
$arr)||array_search("css",$arr) ||array_search("htm",$arr) ){
echo "<script>alert('非法文件');history.go(-1);</script>";
2、上传时将文件进行哈希
hash_file(arg1,arg2);//arg1:哈希算法/arg2:文件路径
输出哈希值
3、下载时先验证哈希值
下载前先将文件进行哈希,再与上传时的哈希值进行比对。若哈希值相同,则说明问价名及文件内容没有被恶意篡改过,文件可被下载;若文件哈希值匹配不上,则弹出警告。
原理: hash_file函数将文件内容进行哈希,若文件内容改变,则哈希值改变。若文件内容改变则哈希值改变,可利用此函数防止恶意篡改文本及脚本的注入。