当前位置: 首页 > 知识库问答 >
问题:

在Java中生成时防止CSV文件注入

谢旭
2023-03-14

我找到了一个转义特殊字符的库

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.6</version>
</dependency>

StringEscapeUtils.escapeCsv(data);

我不确定它是否能解决CSV注射问题。使用安全吗?

共有1个答案

翟奇
2023-03-14

不,不是。stringescapeutils.escapecsv只更改引号和换行符。你可以在这里查看最新版本的代码

要断言CSV注入的问题,您应该:

[...]确保任何单元格都不以下列字符开头:

 类似资料:
  • 我试图将JSF2.2与bootstrap 3.2.0组件结合起来,但在尝试使用带有动态生成的标签列表的按钮组时遇到了问题。我将问题追溯到ui:repeat标记包含在生成的html中,从而阻止了引导程序的正确css样式。 更新只是为了好奇,按钮被显示为普通按钮(在它们之间有间距),而不是在组按钮全部在一起样式中所希望的。

  • 本文向大家介绍Java生成CSV文件实例详解,包括了Java生成CSV文件实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1、新建CSVUtils.java文件: 2、调用createCSVFile方法生成CSV文件

  • 我正在编写一个简单的java注释处理器,它使用JavaPoet生成java类,然后将其写入文件管理器。 这个注释处理器正在将文件保存到中,而不是 我尝试将maven编译器插件中目录设置为生成的sources目录,但它仍然在class文件夹中生成它。 如何将生成的类保存在生成的源文件夹中?

  • 问题内容: 我正在寻找一些防止SQL注入的技巧。在一个论坛上告诉我我的代码不安全,我正在寻找一个足够好的人来帮助我解决此问题。 我有一个Web表单,提交后转到aspx.cs页,然后将数据插入ms sql数据库。 问题答案: 最直接的解决方法是 不 通过将字符串串联在一起来构建sql,而是使用params。如果您使用的是SqlCommand,则可以执行以下操作,否则按照@MarcB的建议进行操作

  • 所谓 SQL 注入,就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。具体来说,它是利用现有应用程序,将(恶意)的 SQL 命令注入到后台数据库引擎执行的能力,它可以通过在 Web 表单中输入(恶意)SQL 语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行 SQL 语句。比如先前的很多影视网站泄露 VI

  • 问题内容: 是否有可能以与PHP具有防止它们攻击的Prepared语句相同的方式来防止在Node.js(最好是使用模块)中进行SQL注入。 如果是这样,怎么办?如果没有, 那么有哪些示例 可以绕过我提供的代码(请参见下文)。 一些上下文: 我正在使用node-mysql模块制作一个包含Node.js+MySql的后端堆栈的Web应用程序。从可用性的角度来看,该模块很棒,但是它还没有实现类似于PHP