PHP
if (!function_exists('check_illegal')) {
/**
* 检测上传图片是否包含有非法代码
* @return mixed
*/
function check_illegal($image)
{
try {
if (file_exists($image)) {
$resource = fopen($image, 'rb');
$fileSize = filesize($image);
fseek($resource, 0);
$hexCode = fread($resource, $fileSize);
fclose($resource);
if (preg_match('#__HALT_COMPILER()#i', $hexCode) || preg_match('#/script>#i', $hexCode) || preg_match('#<([^?]*)\?php#i', $hexCode) || preg_match('#<\?\=#i', $hexCode)) {
return false;
}
}
} catch (\Exception $e) {}
return true;
}
}
检测上传图片是否包含有非法代码
PHP
/*验证图片一句话木马*/
if (false === check_illegal($_FILES[$fileElementId]['tmp_name'])) {
return ['errcode'=>1,'errmsg'=>'禁止上传木马图片!'];
}
PHP
验证图片一句话木马
PHP
$fileName = $_FILES[$fileElementId]['name'];
// 提取文件名后缀
$file_ext = pathinfo($fileName, PATHINFO_EXTENSION);
// 提取出文件名,不包括扩展名
$newfileName = preg_replace('/\.([^\.]+)$/', '', $fileName);
// 过滤文件名.\/的特殊字符,防止利用上传漏洞
$newfileName = preg_replace('#(\\\|\/|\.)#i', '', $newfileName);
// 过滤后的新文件名
$fileName = $newfileName . '.' . $file_ext;
$savePath = $path . '/' . date('Ymd/');
插入代码结束
继续阅读与本文标签相同的文章
下一篇 :
php砍价或者红包
-
阿里云Linux服务器动态扩容(阿里云服务器扩容后磁盘空间无变化解决方法)
2020-11-30栏目: 建站教程
-
6个SEM实战技巧,大神手把手教你做推广!
2020-07-20栏目: SEM
-
苏州美食推荐,持续更新
2020-06-17栏目: 生活笔记
-
企业如何玩转视频号
2020-05-12栏目: 运营杂谈
-
SEO关键词排名该掌握的核心优化技巧
2020-05-12栏目: SEO
打印
分享
发表评论 已发布 0 条