图片传输和图片防遍历技术方案

图片传输和图片防遍历技术方案需求描述:1.如果用一个接口列表,可能报文太长了,实现URL是短期有效且防遍历的2.接口文件流,拆两个接口,一个接口返回文件列表,另一个根据文件ID返回文件流3.如果都是图片,base64通过接口来传输图片

图片传输和图片防遍历技术方案

图片传输和图片防遍历技术方案

需求描述: 1.如果用一个接口列表,可能报文太长了,实现URL是短期有效且防遍历的 2.接口文件流,拆两个接口,一个接口返回文件列表,另一个根据文件ID返回文件流 3.如果都是图片,base64通过接口来传输图片也可以。 4.发送端和接收端可以对文件做MD5加密,这样可以验证文件在传输过程中是否被篡改。

1.对用户提交过来的文件名称硬编码或者统一编码,对文件类型进行白名单控制,对包含恶意字符或者空字符的参数进行拒绝。

代码语言:javascript代码运行次数:0运行复制
package com.example.core.mydemo.java;

import java.util.regex.Pattern;

public class FileNameTest {
    private static Pattern FilePattern = Patternpile("[\\\\/:*?\"<>|]");
    public static String filenameFilter(String str){
        return str==null?null:FilePattern.matcher(str).replaceAll("");
    }

    public static void main(String[] args) {
        System.out.println("str1=" + filenameFilter("aaa.txt"));
        System.out.println("str2=" + filenameFilter("bb\\a?*.txt"));
        System.out.println("str3=" + filenameFilter("cc/:a.txt"));
        System.out.println("str4=" + filenameFilter("dd\"a.txt"));
        System.out.println("str5=" + filenameFilter("[ee<>|a].txt"));
    }
}

output: str1=aaa.txt str2=bba.txt str3=cca.txt str4=dda.txt str5=[eea].txt

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-02-05,如有侵权请联系 cloudcommunity@tencent 删除加密接口txt遍历编码

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754973238a5223337.html

相关推荐

  • 图片传输和图片防遍历技术方案

    图片传输和图片防遍历技术方案需求描述:1.如果用一个接口列表,可能报文太长了,实现URL是短期有效且防遍历的2.接口文件流,拆两个接口,一个接口返回文件列表,另一个根据文件ID返回文件流3.如果都是图片,base64通过接口来传输图片

    1月前
    160

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信