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

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

🤖 Ai回答:
在 PHP 中实现文件上传并禁止上传 `.exe` 文件,可以通过以下几种方式来实现:

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

php
<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$filename = $_FILES['file']['name'];
$filetype = $_FILES['file']['type'];
$tmp_name = $_FILES['file']['tmp_name'];

// 获取文件扩展名
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));

// 禁止上传 .exe 文件
if ($extension === 'exe') {
die(不允许上传 .exe 文件!);
}

// 其他允许的文件类型(可选)
$allowed_extensions = ['jpg', 'png', 'gif', 'pdf', 'txt'];
if (!in_array($extension, $allowed_extensions)) {
die(不支持的文件类型!);
}

// 保存文件
$upload_dir = 'uploads/';
if (!is_dir($upload_dir)) {
mkdir($upload_dir, 0755, true);
}

$new_filename = uniqid() 、'.' 、$extension;
$destination = $upload_dir 、$new_filename;

if (move_uploaded_file($tmp_name, $destination)) {
echo 文件上传成功!;
} else {
echo 上传失败!;
}
}
?

✅ 方法二:结合 MIME 类型判断(更安全)

虽然 `$_FILES['file']['type']` 可被伪造,但可以作为辅助判断:

php
$mime = mime_content_type($tmp_name);
if ($mime === 'application/x-msdownload') {
die(不允许上传可执行文件!);
}

注意:`mime_content_type()` 函数在 PHP 7.4+ 已废弃,建议使用 `finfo_open()`。

使用 `finfo` 检查 MIME 类型(推荐):

php
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $tmp_name);
finfo_close($finfo);

if ($mimetype === 'application/x-msdownload') {
die(不允许上传 .exe 文件!);
}

✅ 方法三:限制上传目录权限 + 安全存储

不要直接将上传文件放在网站根目录。
使用独立的上传目录,并设置权限为 `755` 或 `644`。
避免上传后可执行脚本(如 `.php`, `.exe`)被访问。

🛡️ 补充安全建议

1、不要依赖客户端验证(JavaScript),因为容易绕过。
2、始终服务器端验证文件类型、大小、内容。
3、重命名上传文件,避免恶意文件名(如 `shell.php`)。
4、过滤特殊字符:
php
$filename = preg_replace('/[^a-zA-Z0-9._-]/', '', $filename);

5、限制上传大小:
php
if ($_FILES['file']['size'] 5 * 1024 * 1024) { // 5MB
die(文件过大!);
}


✅ HTML 表单示例

html
<form method=post enctype=multipart/form-data
<input type=file name=file /
<input type=submit value=上传 /
</form

✅ 总结

| 安全措施 | 是否推荐 |

| 检查文件扩展名 | ✅ 推荐 |
| 检查 MIME 类型 | ✅ 更安全 |
| 使用 `finfo` | ✅ 最佳实践 |
| 重命名文件 | ✅ 必须 |
| 限制目录权限 | ✅ 必须 |

通过以上方法,你可以有效防止用户上传 `.exe` 文件,提升网站安全性。

Ai作答

📣 商家广告


广告招商

起名

月饼

求名

公司


0

IP地址: 104.185.108.239

搜索次数: 0

提问时间: 2025-11-08 11:38:07

🛒 域名购买
qj.gs
lytxw.com
214.net.cn
zansou.com.cn
0833.com.cn
chxk.cn
chuisou.com.cn
ef.gs
670.net.cn
40.gold

❓️ 热门提问
云域名购买
vps建网站
meo域名
VPS服务器系统选择
服务器的云服务
DeFi源码开发
郑州服务器
超融合服务器 厂商
idc机房 上海
日本,云服务器
豌豆Ai站群搜索引擎系统

🌐 域名评估
bb.jl.cn
tt.qh.cn
oo.js.cn
vtol.mobi
evtol.school
af.cq.cn
ff.ln.cn
evtol.hn.cn
7mt.net
s.tw.cn

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

🖌 热门作画

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

🗨 加入群聊
群

🔗 友情链接
Ai站群  境外域名购买  ai提问

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

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

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

上一篇 79664 79665 79666 下一篇