问题标签 [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 投票
8 回答
23067 浏览

delphi - 如何清理字符串以用作文件名?

我有一个将文件转换为不同格式并保存的例程。原始数据文件已编号,但我的例程根据原始数据文件中的内部名称为输出提供文件名。

我尝试在整个目录上批量运行它,它运行良好,直到我点击了一个内部名称中有斜杠的文件。哎呀!如果它在这里这样做,它可以很容易地在其他文件上这样做。某处是否有 RTL(或 WinAPI)例程可以清理字符串并删除无效符号,以便安全地用作文件名?

0 投票
6 回答
5068 浏览

c++ - C++ 中的路径清理

我正在编写一个小型只读类似 FTP 的服务器。客户说“给我那个文件”然后我​​的服务器发送它。

是否有任何标准方法(库函数?!?)来确保请求的文件不是“../../../../../etc/passwd”或任何其他坏事?如果我可以将所有查询限制在一个目录(及其子目录)中,那就太好了。

谢谢!

0 投票
2 回答
300 浏览

php - 对 ping 程序的 PHP 输入进行消毒

我想将一个php页面连接到linux命令行程序ping。

我意识到有卫生问题。是否有可以处理所有事情的内置库或函数,还是我必须依赖正则表达式解析器?

0 投票
1 回答
514 浏览

erlang - 如何清理 Erlang 输入?

我今天在玩 erlang shell,发现我可以进行命令注入,如下所示:

有没有办法清理 get_chars 函数的输入,所以这是不可能的?

0 投票
4 回答
144 浏览

html - 如何使用户在网站上编写的 HTML 不与网站的样式表冲突?

我有一个网站,允许用户创建博客文章。有一些后备标签,但大多数标准 HTML 标签都是可以接受的。

但是,我对页面的显示方式有疑问。

我将 HTML 包裹在自己的 div 中。

我最终希望将用户的 HTML 与主站点样式表分开,这样它就可以避免继承样式并搞砸显示 HTML 的原始站点的布局。

所以最后,有什么我可以应用到一个 div 上,这样它的内容就与网站的其他部分隔离了吗?

谢谢!

0 投票
3 回答
5940 浏览

html - 编码 HTML 的正则表达式

我想创建一个正则表达式,它将匹配<a>仅包含 href 属性的开始标记:

它应该与上述匹配,但在添加其他属性时不匹配:

通常这很容易,但 HTML 是经过编码的。所以对上述两种编码,我需要正则表达式来匹配这个:

但不匹配这个:

假设所有编码的 HTML 都是“有效的”(没有奇怪的畸形 XSS 诡计),并假设我们不需要遵循任何 HTML 清理最佳实践。我只需要最简单的正则表达式来匹配上面的 A) 但不匹配 B)。

谢谢!

0 投票
2 回答
2191 浏览

c# - C#:使用 XmlTextWriter 清理 XML 文本值?

XmlTextWriter用来序列化和持久化我的一些数据。我序列化的几个字段是基于用户输入的(例如用户名)。今天我用的WriteElementString方法XmlTextWriter

我的问题是:第二个参数WriteElementString是要写入的文本值。我怎样才能在写作之前对其进行消毒?

示例代码:

变量inputUserNameinputEmail是用户输入的,我想在编写之前对它们进行清理/转义。

实现这一目标的最佳方法是什么?

0 投票
1 回答
582 浏览

ruby-on-rails - 转义字符 Rails

我想转义这个表单的输入,这样当它进入数据库时​​,像 .'* 这样的字符不会影响更新。我将如何对字符进行编码以实现上述目标。

0 投票
6 回答
1970 浏览

php - 循环通过 GET、POST 和 COOKIE 进行消毒?

考虑到每个人总是担心用户数据(并且正确地如此),当你得到它时简单地循环遍历每个外部数组并应用 mysql_real_escape_string() 就足够了。

我很好奇这是否是一个坏主意。

就像是:

这将使所有数据在数据库中安全使用。但是,这样做有什么缺点呢?

0 投票
2 回答
616 浏览

c# - 如何加载未经处理的 XML?

我们有各种由当前发行版中的应用程序生成的 XML 文件。其中一些文件已被证明包含无效字符,从而使它们成为无效的 XML,除非所有验证都关闭,否则在大多数情况下都不会加载,然后,仅在XmlDocument某些情况下,不会加载XDocument.

由于这个应用程序已经存在,我们必须处理它产生的文件。现在,在尝试加载文档之前,我可以继续添加一个Sanitizer知道要查找什么以及如何修复它的类型,但我希望有人可能已经付出了努力来产生一些可能已经在高效的方式(如SanitizedXmlReader上课)。

这个问题涉及相同的主题,但我没有在那里找到令人满意的答案。我们想要的只是删除 XML 文件中任何位置的无效内容(而不是仅在 CDATA 中有效或在 QName 中未使用时有效的数据)。

那么,是否存在这样一种东西,可以将“几乎”的 XML 文件变成“至少没有无效字符”的 XML 文件?如果没有,我们自己的滚动是下一个选择。在这种情况下,与其花时间解释 XML 规范以确定哪些字符在所有情况下都是非法的,不如在某个地方有一个明确的列表?