ColdFusion 通过 Java 执行 OWASP esapi

2024-02-13

我有一些旧的 ColdFusion 代码。它最初是为 CF9 编写的,但现在运行在 CF 2016 上。

应用程序.cfc

  local.esapi = createObject("java", "org.owasp.esapi.ESAPI");
  application.esapiEncoder = local.esapi.encoder()

很久以后

常规页面

  form.Reason = application.esapiEncoder.encodeForHtml(form.Reason);

我正在考虑将其替换为

  form.Reason = encodeForHTML(form.Reason);

这些功能一样吗?


是的encodeForX()函数在幕后使用 OWASP 的 ESAPI。encodeForHTML()是CF10+并且有一个canonicalize参数,它将输入降低到最低因子。 CF2016添加了一个encodeFor论点cfoutput用于输出的标签具有类似的功能。还有canonicalize()函数将抛出一个您可以捕获的错误。这对于查看是否有人试图在您的表单或网站上输入恶意输入非常有用。我想不出对输入进行双重或多重编码的合法原因,我会解释为攻击。中的论据encodeForX()函数会将其降低到其基本评估,但它不会抛出错误,只是返回结果输出。就我个人而言,我不确定是否有很多意外的方式来传递由规范化获取的值,我只是宁愿抓住这种尝试并将该用户踢出我的网站。

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-e-g/encodeforhtml.html https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-e-g/encodeforhtml.html

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/Canonicalize.html https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/Canonicalize.html

https://www.owasp.org/index.php/Category:编码 https://www.owasp.org/index.php/Category:Encoding

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ColdFusion 通过 Java 执行 OWASP esapi 的相关文章

随机推荐

  • 如何在Javascript中延迟setInterval?

    我现在在 JavaScript 中反复遇到一个奇怪的问题 我似乎无法拖延setInterval longer 发生情况的一个小例子 var loop var count loop setInterval start 30 function
  • Gedmo Tree getPath 错误:节点与此存储库不相关 500 内部服务器错误 - InvalidArgumentException

    我收到错误 Node is not related to this repository 500 Internal Server Error InvalidArgumentException 更新1 如果我设置树并不重要具有特征的存储库 h
  • 将 MediaPicker 添加到常规站点设置

    我当前正在进行的项目正在利用租户站点 对于每个站点 我们希望能够通过修改其设置 在管理页面上 设置 gt 常规 来更改整个租户站点的徽标 我通过以下方式向站点设置添加了两个文本字段这个有据可查的教程 http docs orchardpro
  • 使用 ListView 的拖放功能来创建库存 UI

    我想使用 ListView 为我的游戏创建一个库存 UI 其中可以通过在关卡中拖放项目来将其从库存中删除 如果某个物品没有正确放置 仍在物品栏内 则应将其放回拖动前的位置 我有以下代码 但即使在查看了之后我也不知道如何实现我想要的拖放示例
  • Scala 协方差和下类型界解释

    我正在尝试了解使用下界创建新的不可变类型的方法的协方差 class ImmutableArray T item T existing List T Nil private val items item existing def append
  • Python Opencv自定义控制(增加/减少)视频播放速度

    我正在编写一个程序来控制视频播放速度为自定义速率 有办法实现这一点吗 应该添加什么代码来控制播放速度 import cv2 cap cv2 VideoCapture video mp4 while cap isOpened ret fram
  • MySQL UPSERT 没有 ON DUPLICATE KEY

    我想要一个UPSERT UPDATE如果存在 则插入 在具有以下字段的 MySQL 表上 CREATE TABLE item uid int 11 NOT NULL AUTO INCREMENT timestamp int 11 NOT N
  • 系统.data.sqlite.net 4

    System Data SQLite 是否有 Net 4 版本 目前我收到此错误 混合模式程序集是针对运行时版本 v2 0 50727 构建的 如果没有附加配置信息 则无法在 4 0 运行时中加载 需要什么 附加配置信息 或者是否有我可以使
  • 如何在Chrome扩展中获取剪贴板数据?

    我很难找到有关如何在 Chrome 扩展程序中添加 Ctrl C 监听器 获取剪贴板数据 然后写回剪贴板的最新信息 我发现的所有旧代码都是针对现已弃用的旧版本 基本上你可以使用操作剪贴板document execCommand paste
  • Spring中@Configuration和@Component有什么区别?

    ComponentScan使用两者创建bean Configuration and Component 交换时这两个注释都可以正常工作 那有什么区别呢 Configuration 表示一个类声明一个或多个 Bean 方法并且可以被Sprin
  • 启动作业中的“启动进程-NoNewWindow”?

    我在启动作业中使用启动进程时遇到问题 特别是在使用时 NoNewWindow 例如这个测试代码 Start Job scriptblock Start Process cmd NoNewWindow Wait ArgumentList c
  • 扫描代码注释并转换为标准格式的工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个 C 项目 该项目有许多不同的作者和许多不同的文档风格 我是以下的忠实粉丝doxygen
  • 通过 Nginx、Django 提供 206 字节范围服务

    我让 Nginx 为我的静态 Django 文件提供服务 该文件在 Gunicorn 上运行 我正在尝试提供 MP3 文件并让它们具有头部 206 以便 Apple 接受它们用于播客 目前 音频文件位于我的静态目录中 并直接通过 Nginx
  • 受保护的构造函数有哪些实际用途?

    为什么有人会声明构造函数受保护 我知道构造函数被声明为私有 目的是不允许它们在堆栈上创建 当一个类是 旨在作为 抽象类时 受保护的构造函数是完全正确的 在这种情况下 您不希望从类实例化对象 而只想使用它来继承 还有其他用例 例如某些构造参数
  • 使用没有表单的视图创建 django 对象

    我想知道如何能够根据用户将要访问的 URL 在数据库中创建对象 例如 他们将转到 schedule addbid 1 这将在表中创建一个对象 其中包含投标的所有者 他们投标的时间表以及投标是否已完成 这是迄今为止我的投标模型的内容 clas
  • 列表中的枚举值

    我有一个枚举类 例如 public enum USERTYPE Permanant 1 Temporary 2 在我的业务对象中 我只是将这个枚举声明为 private List
  • 如何根据模型类上返回布尔值的方法的结果来过滤查询集?

    作为我的模型类之一的成员函数 我有一个is visible self user 返回布尔值的方法 根据定义 它需要请求用户 DjangoUser模型 作为输入 我希望能够根据对此方法的响应来过滤查询集 如何使用此函数作为查询集过滤器 对于上
  • keySet().toArray(new Double[0]) 的作用是什么?

    下面的返回有什么作用 我该如何使用该值 private Map
  • 提交表单时如何从 mgt-people-picker 获取输入值

    我在用着mgt people picker从 ASP Net Razor 应用程序中 使用ProxyController从 Graph API 获取所有数据 一切正常 现在我想从我创建的表单中获取信息 其中包含人员列表mgt people
  • ColdFusion 通过 Java 执行 OWASP esapi

    我有一些旧的 ColdFusion 代码 它最初是为 CF9 编写的 但现在运行在 CF 2016 上 应用程序 cfc local esapi createObject java org owasp esapi ESAPI applica