当前位置: 首页 > wzjs >正文

初学者求教怎样做网站最有创意促销活动方案

初学者求教怎样做网站,最有创意促销活动方案,中卫网站建设,网页搜索关键词快捷键四重验证机制: 文件扩展名检查(.xlsx/.xls)MIME类型检查文件魔数验证(真实文件类型)可执行文件特征检测 防御措施: 使用try-with-resources确保流关闭限制文件大小防止DoS攻击使用Apache POI的FileMagic进…
  1. 四重验证机制

    • 文件扩展名检查(.xlsx/.xls)
    • MIME类型检查
    • 文件魔数验证(真实文件类型)
    • 可执行文件特征检测
  2. 防御措施

    • 使用try-with-resources确保流关闭
    • 限制文件大小防止DoS攻击
    • 使用Apache POI的FileMagic进行专业验证
  3. 生产环境建议

    Yaml

    # application.yml配置 spring: servlet: multipart: max-file-size: 10MB max-request-size: 10MB

完整代码: 

import org.apache.poi.poifs.filesystem.FileMagic;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;// 文件上传限制-只允许上传excel文件,且检查不能是脚本或者有害文件或可行性文件
public class ExcelFileValidator {// 允许的Excel文件MIME类型private static final String[] ALLOWED_MIME_TYPES = {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // .xlsx"application/vnd.ms-excel" // .xls};// 最大文件大小(10MB)private static final long MAX_FILE_SIZE = 10 * 1024 * 1024;/*** 验证Excel文件安全性** @param file 上传的文件* @throws IOException              文件读取异常* @throws IllegalArgumentException 文件非法时抛出*/public static void validateExcelFile(MultipartFile file) throws IOException, IllegalArgumentException {// 基础检查if (file == null || file.isEmpty()) {throw new IllegalArgumentException("请选择要上传的文件");}// 检查文件大小if (file.getSize() > MAX_FILE_SIZE) {throw new IllegalArgumentException("Excel文件大小不能超过10MB");}// 检查文件扩展名String originalFilename = file.getOriginalFilename();if (originalFilename == null ||(!originalFilename.toLowerCase().endsWith(".xlsx") &&!originalFilename.toLowerCase().endsWith(".xls"))) {throw new IllegalArgumentException("仅支持.xlsx或.xls格式的Excel文件");}// 检查MIME类型String contentType = file.getContentType();if (contentType == null || !Arrays.asList(ALLOWED_MIME_TYPES).contains(contentType.toLowerCase())) {throw new IllegalArgumentException("非法的Excel文件类型");}// 使用POI检查文件魔数(真实文件类型)try (InputStream inputStream = file.getInputStream()) {FileMagic fileMagic = FileMagic.valueOf(inputStream);if (fileMagic != FileMagic.OLE2 && fileMagic != FileMagic.OOXML) {throw new IllegalArgumentException("非法的Excel文件格式");}// 基础恶意内容检查checkForExecutableContent(inputStream);}}/*** 检查是否包含可执行文件特征*/private static void checkForExecutableContent(InputStream is) throws IOException {byte[] buffer = new byte[1024];is.read(buffer);// PE文件头检查(Windows可执行文件)if (buffer.length > 60 && buffer[0] == 0x4D && buffer[1] == 0x5A) {throw new IllegalArgumentException("检测到潜在有害文件内容");}// ELF文件头检查(Linux可执行文件)if (buffer.length > 4 && buffer[0] == 0x7F && buffer[1] == 0x45 &&buffer[2] == 0x4C && buffer[3] == 0x46) {throw new IllegalArgumentException("检测到潜在有害文件内容");}}
}

http://www.dtcms.com/wzjs/563213.html

相关文章:

  • 做MAD生肉网站网站建设费用应该开专票还是普票
  • 网站页面用什么软件做电商平台运营是做什么
  • 小女孩做网站软件外包多少钱
  • 长宁做手机网站建设珠海高端网站建设公司
  • 烟台网站排行榜怎么在建设银行网站留言
  • 网站定制开发上海建设网站的目的和意义
  • 帮别人做网站的单子七牛云cdn加速wordpress
  • 微信网站开发教程视频wordpress lightsns
  • wordpress 消耗 资源seo统计
  • 东莞市网站建设创建网络平台
  • 如何下wordpress广州搜索排名优化
  • 住房与城乡建设部网站注册中心太原网站公司哪家好
  • 网站开发与制作论文开题建站产品
  • 北京企业建设网站公司房产信息门户网站建设方案
  • wordpress制作网站模板企业招标信息发布平台
  • 免费自助建站软件有哪些网站换域名seo
  • 金堂县建设局网站目前最好的旅游网站
  • 粉色帝国网站微页制作网站模板免费下载
  • 赤峰建网站的电话建网360 网站建设
  • 住房和城乡建设部网站唐山长春网络公司营销模式
  • 各大网站推荐小程序设计用什么软件
  • 门户网站的优点深圳市宝安区西乡街道邮政编码
  • logo做ppt模板下载网站小型企业软件管理系统
  • 我的网站要换新域名如何做江门网红桥
  • 网站做成响应式的有什么弊端江阴市做网站的
  • 温州做网站制作最有效的免费推广方法
  • 聊城网站开发培训境外网站可以备案吗
  • app网站开发seo专业培训机构杭州
  • 微信网站搭建多少钱怎么创建网站 免费滴
  • 西安做网站必达网络wordpress最好的免费主题2018