npm 包 @mhylle/schema2-security 使用教程

如果你是一名前端开发者,那么你就一定知道 npm,它可以帮助你在项目中轻松管理依赖项。而 @mhylle/schema2-security 是一款通过对 JSON Schema 进行扩展,增加安全限制,在应用中过滤不安全的 JSON 数据的 npm 包。本文将介绍 @mhylle/schema2-security 的安装、配置和使用方法。

安装

使用 npm 安装 @mhylle/schema2-security:

--- ------- ------------------------

配置

@mhylle/schema2-security 需要通过配置文件进行配置。新建名为 schema2-security.config.json 的文件,包含以下内容:

-
  ----------- -
    -------------------- ---
  -
-

在这个例子中,我们配置了一个 maximumThroughput 限制。如果通过验证的 JSON 数据超出了这个限制,它将被阻止。你可以随时添加或删除多个限制。

使用

首先,你需要在你的项目中导入 @mhylle/schema2-security:

------ --------------- ---- ---------------------------

然后,你需要定义一个 JSON Schema。你可以在你的模式中定义任何你想要修改的限制:

-
  ---------- ------------------------------------------
  -------------- -
    ------- -
      ------- ---------
      ------------- -
        ----- -
          ------- --------
        --
        ------- -
          ------- --------
        --
        -------- -
          ------- --------
        --
        ------- -
          ------- ---------
          ------- -
            --------
            -------
            -------
          -
        --
        ------------ -
          ------- ---------
          --------- ----------
        --
        ------------ -
          ------- ---------
          --------- ----------
        -
      -
    -
  --
  ------- ---------
  ------------- -
    ------- -
      ------- --------------------
    -
  --
  ----------- -
    ------
  -
-

最后,你可以将你的 JSON Schema 和你的 JSON 数据一起传递到 @mhylle/schema2-security,如下所示:

----- ------ - -- ---- ---- ------ ---- ---
----- ---- - -- ---- ---- ---- ---- ---

----- --------------- - --- -----------------
  -------
  ------- -- ---- ------------- ---- --
---

--- -
  ----- ------------- - -------------------------------
  -- --------- ---- ----
- ----- ----- -
  -- ------ ----- ----
-

在这个例子中,validatedData 是由 @mhylle/schema2-security 验证过的 JSON 数据,或者如果无法通过验证,则会抛出错误。

总结

通过本文,你了解了如何使用 @mhylle/schema2-security npm 包来过滤应用程序中的不安全的 JSON 数据。你可以通过添加自己的自定义限制来扩展这个包。希望这篇文章对你有所帮助,也希望你能够在你的项目中成功使用这个包。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bcb967216659e244715


猜你喜欢

  • npm 包 @nathanfaucett/last_index_of 使用教程

    介绍 在前端开发中,我们常常需要处理数组或字符串。而 lastIndexOf 方法则是字符串或数组中查找元素的一种非常常用的方式。只不过在一些特定情况下,常规 lastIndexOf 无法满足我们的需...

    4 年前
  • npm 包 @nathanfaucett/lexer 使用教程

    在前端开发领域中,使用各种优秀的 npm 包是不可避免的。其中,@nathanfaucett/lexer 包是一个非常有用的工具,它提供了一个解析器,可以将字符串转换成词法单元。

    4 年前
  • npm 包 @neozenith/eslint-config 使用教程

    本文将介绍如何使用 npm 包 @neozenith/eslint-config 来规范前端代码的开发规范。@neozenith/eslint-config 是一种基于 eslint 插件的插件,可用...

    4 年前
  • npm 包 @nathanfaucett/map_polyfill 使用教程

    简介 在前端开发中,我们经常需要使用 Map 数据结构。然而,Map 并不是所有浏览器都支持。这时候,就需要使用一些 polyfill 来实现浏览器兼容。 在这里,我们介绍一个非常优秀的 polyfi...

    4 年前
  • npm 包 @nerds-and-company/sass-lint-webpack-plugin 使用教程

    在前端开发中,我们经常使用 SASS 来编写优秀的样式文件。但是,由于代码量较多,而没有规范的代码风格可能会导致维护难度和协作问题。于是,sass-lint 则成为一种常见的规范工具。

    4 年前
  • npm包@nathanfaucett/layer使用教程

    前言 在前端开发中,常常需要使用弹出层组件,以实现更好的用户体验。而@nathanfaucett/layer便是一款轻量级且功能强大的弹出层组件,可以满足不同的业务需求。

    4 年前
  • npm 包 @nathanfaucett/layers 使用教程

    简介 @nathanfaucett/layers 是一个 JavaScript 库,用于处理图片的多层混合、特效以及滤镜。其采用了函数式编程风格,提供了丰富的 API ,开发者可以快速构建出高质量的图...

    4 年前
  • npm 包 @nathanfaucett/is_undefined 使用教程

    在前端开发中,我们经常需要判断一个变量是否为 undefined。而 npm 包 @nathanfaucett/is_undefined 可以帮助我们更方便、更高效地进行这项工作。

    4 年前
  • npm 包 @nathanfaucett/is_whitespace 使用教程

    什么是 @nathanfaucett/is_whitespace @nathanfaucett/is_whitespace 是一个基于 JavaScript 的 npm 包,用于判断一个字符是否为空格...

    4 年前
  • npm 包 @nathanfaucett/iterator 使用教程

    在前端开发中,我们常常需要对数组、对象等进行遍历操作。而 @nathanfaucett/iterator 是一个非常实用的 npm 包,能够让我们更加方便地进行遍历操作。

    4 年前
  • npm 包 @nathanfaucett/key_mirror 使用教程

    在前端开发中,经常需要定义一个对象的属性和属性值。通常情况下,我们使用字面量对象的方式进行定义。例如: ----- ------ - - ---- ------ ---- ------ -...

    4 年前
  • npm 包 @nathanfaucett/keys 使用教程

    在前端开发中,我们常常需要处理对象的键值对。@nathanfaucett/keys 是一个优秀的 npm 包,它提供了一些便捷的方法来获取对象所有的键或值。在本文中,我将详细介绍这个包的使用方法,并带...

    4 年前
  • npm 包 `@nathanfaucett/mathf` 使用教程

    @nathanfaucett/mathf 是一个提供数学运算及常用算法的 npm 包。该包将常见的数学问题解决方案打包成了可重用的代码段,方便在前端项目中使用。本文介绍了该 npm 包的安装、常用使用...

    4 年前
  • npm包@nathanfaucett/merge使用教程

    在前端开发中,经常需要用到对象或数组的合并操作。而npm上的@nathanfaucett/merge包可以帮助我们快速、方便地完成这些操作。本文将详细介绍@nathanfaucett/merge的使用...

    4 年前
  • npm 包 @nathanfaucett/messenger 使用教程

    在现代的前端开发中,我们经常需要处理与后端的数据交互。在前端领域,消息传递是一种很常见的设计模式。如果你正在开发一个大型的前端应用程序,并且你需要通过多个组件或者页面进行数据交互,那么你需要一个可靠的...

    4 年前
  • npm包 @nathanfaucett/messenger_adapter使用教程

    在前端开发中,消息框架是开发中必不可少的技术,@nathanfaucett/messenger_adapter就是其中一个npm包。 什么是@nathanfaucett/messenger_adapt...

    4 年前
  • npm 包 @nathanfaucett/messenger_websocket_adapter 使用教程

    介绍 在前端开发过程中,有时需要使用 WebSocket 进行实时通信。而 @nathanfaucett/messenger_websocket_adapter 就是一个实现了 WebSocket 通...

    4 年前
  • npm 包 @nathanfaucett/messenger_worker_adapter 使用教程

    介绍 前端开发中,我们经常需要处理大量的数据以及复杂的业务逻辑,为此我们可以使用 web worker 来进行异步处理。而 @nathanfaucett/messenger_worker_adapte...

    4 年前
  • npm 包 @nathanfaucett/mime 使用教程

    在前端开发中,我们常常需要处理文件类型以及 MIME 类型的转换。为了方便我们的开发,许多开发者创建了各种各样的 npm 包,其中一个非常实用的包就是 @nathanfaucett/mime。

    4 年前
  • npm 包 @nathanfaucett/mixin 使用教程

    在前端开发过程中,我们经常需要对不同的对象进行混合(混入)操作。这时候就可以使用 @nathanfaucett/mixin 这个 npm 包。本文将详细介绍如何使用这个库进行混合。

    4 年前

相关推荐

    暂无文章