javascript - 如何防止 javascript 中格式错误的 unicode 字符串
问题描述
我正在对我的 javascript 应用程序中的用户文本字段测试一些注入攻击,并发现一个特定的 unicode 字符串导致我的其他客户端应用程序在从数据库中读取此值时几乎崩溃。
如何防止这些有害的 unicode 字符串,同时仍然允许其他 unicode,如日文字符?
对于攻击字符串,我使用了本文档中的最后一个选项: https ://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
5.3.4 U+nFFFE U+nFFFF(对于 n = 1..10)| | " | "
我读到过encodeURIComponent()
,听起来它应该在格式错误的 unicode 字符串上引发错误。但是,我在终端中的节点 REPL 中使用上述攻击字符串对其进行了尝试,它解析得很好,没有错误。我使用的编码错误吗?我的终端是否会以某种方式影响角色?我应该使用不同的功能吗?
任何帮助将不胜感激,我对这样的攻击很陌生。
解决方案
推荐阅读
- javascript - 如何在表单中使用复选框并控制输入字段
- javascript - 是否可以在 Playwright 中创建自定义命令?
- vba - 如何修复 MS Access VBA 中的运行时错误 2185?
- android - 无法使用 Kotlin+ Jetpack Compose 从一开始就在 Android Studio 中运行任何应用程序
- c# - 如何获取一个节点的所有直接子节点的集合?
- reactjs - 无效的挂钩调用。钩子只能在反应函数组件内部使用...... useEffect,redux
- android - 为什么 Android 视图链不散布在具有约束布局的片段中?
- rdf - OWL2等价与子类定义的实用解释
- azure-data-factory - 是否有任何 Lync 服务或连接器可用于 Azure Sentinel 或 Azure Log Analytics 以连接 Azure 数据工厂
- javascript - 在同一域上的两个 iFrame 中创建点击事件