问题标签 [input-sanitization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
674 浏览

python - 应该在输入时对 html 进行清理吗?

这个问题已经在这里问过很多次了,大多数人都同意原始 HTML 输入应该存储在数据库中,并在输出时转义。但是,我认为我的情况可能略有不同。

用户可以输入一些标签(em、strong、span 等)但其他标签被删除(脚本、样式、元等)所以我正在做的是获取原始 HTML,并将其发送bleach.clean到剥离(不是逃避)所有不安全的标签。对我来说,这更像是验证/清理而不是转义内容以供显示。特别是因为无论我以何种格式提供数据(HTML、JSON 或任何其他格式),我都会剥离不安全的标签。

我是否仍然应该在输出时对其进行消毒,或者在这种情况下最好在输入时进行处理?

奖金问题:

如果这是这种情况的正确方法,那么在 django 中实现它的最佳方法是什么?表单级验证还是模型级验证?

0 投票
0 回答
104 浏览

javascript - 删除不需要的字符的最佳方法

我有一个要清理的 HTML 输入。我希望用户输入除某些字符之外的所有内容。我不知道这些字符是什么,但用户通过复制和粘贴以某种方式输入它们。Sublime Text 将它们显示为 STX、SOH 等。我不知道你是否能看到它们,但它们在这里:“”。我不想列出我接受的每个字符,也无法列出这些 STX、SOH 字符。我不能使用 A-Za-z,因为我还希望用户输入像“ç”这样的字符。

我怎样才能轻松实现这一目标?

这是我在这里找到的 -unfinished- 代码的一部分:

非常感谢您提前

0 投票
1 回答
1154 浏览

xss - 从输入文本中删除标签时的 XSS

如果从文本中删除所有标签,是否可以执行 XSS 攻击?标签表示匹配模式“<...>”(正则表达式:)的所有内容/<.*?>/g

0 投票
1 回答
510 浏览

php - 如何正确清理html帖子以保存在mysql中

我正在尝试创建一个博客系统,我想将博客文章数据保存到 mysql 但很少混淆如何清理或清理数据这里是我尝试过的

现在,当我通过 ajax 发布博客数据时,它看起来像

然后我清理帖子数据并回显它

然后这是我得到的回应

我想知道为什么我在响应中得到这些 \r\n 我怎样才能摆脱它们,这是清理 html 帖子的最佳方式

注意:我想将数据保存为 mysql 中的 html

我已经有一个正则表达式,可以找到样式和脚本标签并删除它,我也尝试删除条形斜杠并尝试添加 strip_tags 但我仍然得到 \r\n

0 投票
1 回答
51 浏览

python - 证明一个函数没有正确的输入验证

问题:

我有这个人为的示例功能:

它采用单词列表并动态构造正则表达式模式,而无需正确转义列表中的单词。

使用示例:

问题:

如何测试此函数以证明没有正确的正则表达式转义或输入清理

换句话说,words我应该提供列表中的哪些项目来“破坏”这个功能?


我尝试了几个“邪恶”的正则表达式来模拟灾难性的回溯并强制函数像(x+x+)+yor一样挂起(a+)+,但函数只是False 立即返回并且没有任何问题的迹象。

0 投票
0 回答
55 浏览

wordpress - 我将如何正确清理 wordpress 插件输入字段?

这是我的 wordpress 插件代码。我将如何根据此代码正确消毒

0 投票
0 回答
21 浏览

php - 我是否正确实施输入清理?

我已经为这个问题剥离了这段代码。

我的用户将通过表单输入他们的运输详细信息,我已尝试对输入进行清理。就成功发布数据而言,一切都按预期工作。我的问题更多是关于良好的 php 实践。

我已经用谷歌搜索了,据我了解,该filter_var()函数将删除任何 HTML 标签,以便只为基于文本的输入留下一个字符串,为输入留下一个整数address_zip

这是过滤掉不需要的输入的正确方法和/或是否有进一步的措施来考虑安全用户输入?

如何测试filter_var()功能?
我应该简单地发布类似的东西<h1>Hello World</h1>吗?
这是对输入清理的充分测试吗?

您的帮助总是值得赞赏的。

谢谢大家

0 投票
1 回答
398 浏览

mysql - MySQL HTML 清理

我有一个将数据保存到 MySQL 数据库的网站

我应该在将 HTML 插入 MySQL 或在我的网站上显示它时转义它吗?

理想情况下,我想将原始 HTML 输入到我的数据库中,并在每次从中提取时进行清理。这样做有什么危险吗?

示例 html:<h1>test</h1>

0 投票
2 回答
26942 浏览

reactjs - ReactJS 中的输入清理

我正在使用 ReactJS 开发一个简单的聊天应用程序。有人可以帮我清理输入。只有一个输入文本框可以发送聊天消息。怎么消毒?。

根据文档 HTML 默认转义 html。够了吗。。我是否需要添加任何其他消毒方法。如果是,请让我知道该怎么做?

0 投票
1 回答
343 浏览

mask - Chronoforms 6 数据掩码选项

在 Chronoforms6 上,有一个选项可以为文本字段提供数据屏蔽。我在 Entry 参数中使用了以下条目:

数据输入掩码='掩码':'*{1,30}'

我还需要允许空格和 - 字符。以上仅允许使用字母数字。

关于如何做到这一点的任何提示?