豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: php 文件上传 禁止上传 zip

🤖 Ai回答:
在 PHP 中,如果你想要禁止上传 ZIP 文件,可以通过以下几种方式来实现:

✅ 方法一:检查文件扩展名(推荐)

在上传前检查文件的扩展名,如果为 `.zip` 则拒绝上传。

php
<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$fileName = $_FILES['file']['name'];
$fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));

// 禁止上传 zip 文件
if ($fileExtension === 'zip') {
die('不允许上传 ZIP 文件!');
}

// 其他文件处理逻辑...
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' 、$fileName);
}
?

⚠️ 注意:仅通过 `pathinfo()` 检查扩展名不够安全,因为用户可以伪造文件名。建议结合 MIME 类型或文件内容检测。

✅ 方法二:检查 MIME 类型

使用 `finfo_open()` 检查文件的真实 MIME 类型。

php
<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$tmpName = $_FILES['file']['tmp_name'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimeType = finfo_file($finfo, $tmpName);
finfo_close($finfo);

// 如果是 ZIP 文件,拒绝上传
if ($mimeType === 'application/zip' $mimeType === 'application/x-zip-compressed') {
die('不允许上传 ZIP 文件!');
}

// 其他处理逻辑...
$fileName = basename($_FILES['file']['name']);
move_uploaded_file($tmpName, 'uploads/' 、$fileName);
}
?

✅ 方法三:结合扩展名 + MIME 类型 + 内容检测(最安全)

php
<?php
function isZipFile($filePath) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimeType = finfo_file($finfo, $filePath);
finfo_close($finfo);

// 检查 MIME 类型
if (in_array($mimeType, ['application/zip', 'application/x-zip-compressed'])) {
return true;
}

// 检查文件头(ZIP 文件以 PK 开头)
$content = file_get_contents($filePath, false, null, 0, 4);
return substr($content, 0, 4) === chr(0x50) 、chr(0x4b) 、chr(0x03) 、chr(0x04); // PK\x03\x04
}

// 使用示例
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$tmpName = $_FILES['file']['tmp_name'];

if (isZipFile($tmpName)) {
die('不允许上传 ZIP 文件!');
}

// 安全地移动文件
$fileName = basename($_FILES['file']['name']);
move_uploaded_file($tmpName, 'uploads/' 、$fileName);
}
?

✅ 建议补充的安全措施

1、限制上传目录权限:确保上传目录不能执行 PHP。
2、重命名文件:避免用户上传恶意脚本文件。
3、白名单扩展名:只允许特定类型(如 jpg, png, pdf)。
4、大小限制:设置最大上传大小。

✅ 示例:白名单 + 禁止 ZIP

php
$allowedExtensions = ['jpg', 'jpeg', 'png', 'pdf', 'txt'];
$fileExtension = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));

if (!in_array($fileExtension, $allowedExtensions)) {
die('不支持的文件类型!');
}

✅ 总结

| 方法 | 是否推荐 | 说明 |
|
| 扩展名判断 | ❌ 不够安全 | 可被绕过 |
| MIME 类型 | ✅ 推荐 | 更可靠 |
| 文件头检测 | ✅ 最安全 | 防止伪装 |

👉 最佳实践:结合 MIME 类型 + 文件头 检测,防止用户上传伪装的 ZIP 文件。

如有需要,我也可以帮你写一个完整的文件上传验证类。

Ai作答

📣 商家广告


广告招商

广告招商

广告招商

香港vps

店名


0

IP地址: 109.142.132.234

搜索次数: 0

提问时间: 2025-11-08 11:42:39

🛒 域名购买
sjtp.cn
4666.com.cn
815.net.cn
73.gold
z-j.net
z-u.net
xf.gs
wt.cx
53.biz
7773.com.cn

❓️ 热门提问
cn2欧洲vps
cds服务器
dating域名
VPS不限流量云服务器
站群系统搭建模板
idc机房搬迁
青vps
服务器托管服务合同
最佳资源搜索引擎
163域名注册
豌豆Ai站群搜索引擎系统

🌐 域名评估
kimi.autos
xx.jx.cn
3.ln.cn
wddd.com.cn
oppo.js.cn
vivo.ah.cn
vtol.jl.cn
rmpr.cn
trump.gx.cn
si.hn.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
月饼生产厂家  广州高效过滤器厂家  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 79696 79697 79698 下一篇