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类型。。基于扩展-.-
php 恶意上传,如何防止恶意文件上传到我的服务器上?(检查文件类型)?相关推荐
- 向腾讯云windows服务器传输文件,如何上传本地文件到腾讯云Windows服务器上?
在做运维的过程中经常遇见客户问,如何上传本地数据到Windows云服务器上. 相对Linux云服务器,针对新人朋友Windows云服务器是可视化的更加容易理解.云服务器就是我们租用了腾讯云机房的一台服 ...
- 【无标题】FTP文件夹错误:打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。
问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...
- 通过.sh文件快捷部署jar包到服务器上
参考博客:https://blog.csdn.net/qq_43382350/article/details/125008727 直接写一个脚本文件,每次运行这个文件就可以通过.sh文件快捷部署jar ...
- 服务器上的文件夹设置ftp,设置ftp服务器上传文件夹
设置ftp服务器上传文件夹 内容精选 换一换 监控数据上报功能可以将系统中采集到的监控数据写入到文本文件,并以FTP或SFTP的形式上传到指定的服务器中.使用该功能前,管理员需要在FusionInsi ...
- Centos7把一个文件复制到另外一台服务器上的scp命令
通过scp命令把本地文件传到外网去:scp 当前目录下的文件名 root@ip地址:/mnt 1.从本地复制到远程 现在有一个需求,有一台centos服务器是安装了maven.Jenkins这些工具, ...
- 服务器上的文件如何查看,如何查看远程服务器上的文件
如何查看远程服务器上的文件 内容精选 换一换 分析辅助软件是一款支持部署到多台服务器目标环境上,实现对整个业务集群的数据采集和优化的组件.已成功登录Java性能分析.待安装分析辅助软件的服务器已开启s ...
- svn如何删除服务器上的文件,【SVN】彻底 svn 服务器上的 删除某一个文件或文件夹...
参考: CSDN1:https://blog.csdn.net/u011729865/article/details/78764523 CSDN2:https://blog.csdn.net/wyyo ...
- npm run build打包产生的build文件夹通过nginx部署到服务器上访问(centos8)
首先在当前目录下,用npm run build命令将文件打包到build文件夹(或者是其他文件夹名) 把build目录传到服务器上 打开终端(提一句,Windows在Microsoft store里新 ...
- scp 服务器文件到本地,scp将远程服务器上文件拷贝到本地
scp将远程服务器上文件拷贝到本地 内容精选 换一换 目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.一. Git 命令初识在正式介绍Git命 ...
- php显示服务器文件,php-无法显示从新服务器下载文件的进度(在以前的服务器上工作)...
我一直在开发iPad应用程序,该应用程序使用ASIHTTPRequest下载一些PDF文件.我一直在使用进度委托来为用户显示进度条,以显示文件的下载进度.这是ASIHTTPRequest设置代码. r ...
最新文章
- zcmu1862(模拟)
- C++判断字符是字母或数字
- 跳转语句_javascript流程语句(单分支)
- activiti动态增加节点_支持动态系统用户,JumpServer 堡垒机 V1.5.7 发布
- 3.8 Anchor Boxes
- 印象笔记添加txt附件
- linux下搭建博客21天打卡Day6
- linux内核sysfs详解【转】
- 【转】Redis学习---阿里云Redis多线程性能增强版详解
- 《文献管理与信息分析》速看提问
- 做游戏开发,选择Unity还是Unreal?
- iOS利用HealthKit获取健康里的步数和睡眠时间
- Ignite学习日志1——入门example
- eos源码赏析(七):EOS智能合约入门之共识机制初探
- 公积金贷款逾期预测Baseline分享
- 人工智能建立本体库_吕律:人工智能和本体论
- iptables防火墙
- Android apps 拍立知-基于百度Ai的图像识别与tts语音合成(介绍)
- Matplotlib颜色、线宽、线型、透明度、点型
- 第6-3课:博弈树与井字棋(Tic-Tac-Toe)