php 恶意上传,如何防止恶意文件上传到我的服务器上?(检查文件类型)?

我的问题是避免用户在我的web服务器上上传恶意文件。

我在linux环境(debian)上工作。

实际上,上传是通过以下代码通过php处理的:function checkFile($nomeFile, $myExt = false){

if($myExt != false){ $goodExt = "_$myExt"."_"; }else{ $goodExt = "_.jpg_.bmp_.zip_.pdf_.gif_.doc_.xls_.csv_.docx_.rar_"; }

$punto = strrpos($nomeFile, '.');

$ext = "_".substr($nomeFile, $punto, 8)."_";

if(stristr($goodExt, $ext)){ return 1; }else{ return 0; }

}

在这里我可以指定允许上传的扩展名,如果文件不符合要求,我会在上传完成后立即删除。

但这样,用户就可以通过简单的重命名来更改文件扩展名。。这对我不好;即使file.exe(例如)如果在file.jpg中重命名就永远不会执行(我说得对吗?),我不想在我的服务器上有潜在的危险文件。

有一种方法,在php、python中,或者unix系统可以轻松地运行什么,来检查文件的真正类型?

我尝试过python mimetypes模块,但它检索了文件的ipotetic mime类型。。基于扩展-.-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值