我的问题是避免用户在我的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 恶意上传,如何防止恶意文件上传到我的服务器上?(检查文件类型)?相关推荐

  1. 向腾讯云windows服务器传输文件,如何上传本地文件到腾讯云Windows服务器上?

    在做运维的过程中经常遇见客户问,如何上传本地数据到Windows云服务器上. 相对Linux云服务器,针对新人朋友Windows云服务器是可视化的更加容易理解.云服务器就是我们租用了腾讯云机房的一台服 ...

  2. 【无标题】FTP文件夹错误:打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。

    问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...

  3. 通过.sh文件快捷部署jar包到服务器上

    参考博客:https://blog.csdn.net/qq_43382350/article/details/125008727 直接写一个脚本文件,每次运行这个文件就可以通过.sh文件快捷部署jar ...

  4. 服务器上的文件夹设置ftp,设置ftp服务器上传文件夹

    设置ftp服务器上传文件夹 内容精选 换一换 监控数据上报功能可以将系统中采集到的监控数据写入到文本文件,并以FTP或SFTP的形式上传到指定的服务器中.使用该功能前,管理员需要在FusionInsi ...

  5. Centos7把一个文件复制到另外一台服务器上的scp命令

    通过scp命令把本地文件传到外网去:scp 当前目录下的文件名 root@ip地址:/mnt 1.从本地复制到远程 现在有一个需求,有一台centos服务器是安装了maven.Jenkins这些工具, ...

  6. 服务器上的文件如何查看,如何查看远程服务器上的文件

    如何查看远程服务器上的文件 内容精选 换一换 分析辅助软件是一款支持部署到多台服务器目标环境上,实现对整个业务集群的数据采集和优化的组件.已成功登录Java性能分析.待安装分析辅助软件的服务器已开启s ...

  7. svn如何删除服务器上的文件,【SVN】彻底 svn 服务器上的 删除某一个文件或文件夹...

    参考: CSDN1:https://blog.csdn.net/u011729865/article/details/78764523 CSDN2:https://blog.csdn.net/wyyo ...

  8. npm run build打包产生的build文件夹通过nginx部署到服务器上访问(centos8)

    首先在当前目录下,用npm run build命令将文件打包到build文件夹(或者是其他文件夹名) 把build目录传到服务器上 打开终端(提一句,Windows在Microsoft store里新 ...

  9. scp 服务器文件到本地,scp将远程服务器上文件拷贝到本地

    scp将远程服务器上文件拷贝到本地 内容精选 换一换 目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.一. Git 命令初识在正式介绍Git命 ...

  10. php显示服务器文件,php-无法显示从新服务器下载文件的进度(在以前的服务器上工作)...

    我一直在开发iPad应用程序,该应用程序使用ASIHTTPRequest下载一些PDF文件.我一直在使用进度委托来为用户显示进度条,以显示文件的下载进度.这是ASIHTTPRequest设置代码. r ...

最新文章

  1. zcmu1862(模拟)
  2. C++判断字符是字母或数字
  3. 跳转语句_javascript流程语句(单分支)
  4. activiti动态增加节点_支持动态系统用户,JumpServer 堡垒机 V1.5.7 发布
  5. 3.8 Anchor Boxes
  6. 印象笔记添加txt附件
  7. linux下搭建博客21天打卡Day6
  8. linux内核sysfs详解【转】
  9. 【转】Redis学习---阿里云Redis多线程性能增强版详解
  10. 《文献管理与信息分析》速看提问
  11. 做游戏开发,选择Unity还是Unreal?
  12. iOS利用HealthKit获取健康里的步数和睡眠时间
  13. Ignite学习日志1——入门example
  14. eos源码赏析(七):EOS智能合约入门之共识机制初探
  15. 公积金贷款逾期预测Baseline分享
  16. 人工智能建立本体库_吕律:人工智能和本体论
  17. iptables防火墙
  18. Android apps 拍立知-基于百度Ai的图像识别与tts语音合成(介绍)
  19. Matplotlib颜色、线宽、线型、透明度、点型
  20. 第6-3课:博弈树与井字棋(Tic-Tac-Toe)

热门文章

  1. 【互动赠书】第 4 期开奖,第 5 期书单(21本)
  2. 输入法打出的英文间隔很大
  3. Cocos2d-JS 中游戏背景音乐与音效
  4. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结
  5. 如何用PS的切片工具切出想用的图片
  6. vue 过滤器做字数限制并显示省略号
  7. 使用word文件制作ftl模板文件总结(靠谱)
  8. springboot+elasticsearch+bboss框架集成遇到的坑
  9. IDEA导入scala详解
  10. 配置文件工具类【ConfigTools】