全部
常见问题
产品动态
精选推荐
功能建议

分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
导入模板提示文件内容包含非法代码

管理 管理 编辑 删除

1、文件地址:\crmeb\crmeb\services\upload\BaseUpload.php

把 checkFileContent 方法改成下面内容:

public function checkFileContent($fileHandle)
{
    // 获取文件扩展名
    $extension = strtolower(pathinfo($fileHandle->getOriginalName(), PATHINFO_EXTENSION));
    

    $safeBinaryExt = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'zip', 'rar', '7z', 'mp4', 'avi', 'mov', 'mp3', 'wav', 'xlsx', 'xls', 'docx', 'doc', 'pdf'];
    if (in_array($extension, $safeBinaryExt)) {
        return true;
    }
    
    // 只对文本/代码类文件做内容检测
    $stream = fopen($fileHandle->getPathname(), 'r');
    $content = (fread($stream, filesize($fileHandle->getPathname())));
    if (is_resource($stream)) {
        fclose($stream);
    }
    
    // 检测 PHP 代码标签
    if (preg_match('/<\?php|<\?=|<\?[\s]/i', $content)) {
        return $this->setError('文件内容包含非法代码');
    }
    
    // 检测危险函数调用
    if (preg_match('/\beval\s*\(|\bsystem\s*\(|\bexec\s*\(|\bshell_exec\s*\(|\bpassthru\s*\(|\bassert\s*\(|\bcreate_function\s*\(|\bpopen\s*\(|\bproc_open\s*\(|\bpcntl_exec\s*\(/i', $content)) {
        return $this->setError('文件内容包含非法代码');
    }
    
    // 检测框架敏感关键词
    if (preg_match('/\bthink\b|\bphar\b|\bSocket\b|\bChannel\b|\bFlysystem\b|\bPsr6Cache\b|\bCached\b|\bRequest\b|\bdebug\b|\bPsr6Cachepool\b/i', $content)) {
        return $this->setError('文件内容不合法');
    }
    
    return true;
}

2、文件地址:\crmeb\crmeb\services\upload\storage\Local.php

在 Local.php 的 move 方法中,图片上传后加上:

a45cd202607021059151115.png

// 如果是图片,验证是否为真实图片
$extension = strtolower(pathinfo($fileHandle->getOriginalName(), PATHINFO_EXTENSION));
if (in_array($extension, ['jpg', 'jpeg', 'png', 'gif', 'webp'])) {
    $imageInfo = @getimagesize($fileHandle->getPathname());
    if (!$imageInfo) {
        return $this->setError('不是合法的图片文件');
    }
}

附件下载:

附件

BaseUpload.zip

附件

Local.zip

{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2026-07-02 10:59:44

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
25
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服