问题标签 [sanitize]

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 投票
2 回答
18890 浏览

c# - HTML Agility Pack 条带标签不在白名单中

我正在尝试创建一个函数来删除不在白名单中的 html 标记和属性。我有以下 HTML:

我正在使用 HTML 敏捷包,到目前为止我的代码是:

我尝试实现的输出是

这意味着我只想保留<b>标签。
我这样做的原因是因为一些用户将 MS WORD 中的 cpoy 粘贴到 ny WYSYWYG html 编辑器中。

谢谢。!

0 投票
1 回答
1577 浏览

markdown - 使用 Jeff Atwood 的示例清理 HTML

我正在使用此处找到的 Jeff Atwood 的代码对我的 Html 进行消毒

但是我遇到的问题是当我在表单中输入 Markdown 链接时(它们被删除了)

<http://www.example.com>

这是我正在使用的代码。

0 投票
1 回答
609 浏览

ruby - 如何使用 Ruby 的 Sanitize/Nokogiri 访问未标记的元素?

我正在尝试构建一个Sanitize转换器,该转换器接受可能带有任何标签之外的元素的格式错误的 HTML 输入,例如在此示例中:

我想让转换器将任何未标记的元素包装在<p>标签中,以便上述转换为:

不幸的是,我不知道如何选择未标记的元素,因为它不是节点。我确定我在这里遗漏了一些东西。有人可以在正确的方向上轻推我吗?

0 投票
1 回答
341 浏览

c# - 清理 Silverlight 输入

嘿,我有一个 Silverlight 应用程序,它允许用户修改他们的用户名、密码、简历等。这些信息存储在 MySQL 数据库中,并使用 WCF Web 服务检索。

我需要在从用户接收到的所有信息进入数据库之前对其进行清理。目前我无法在我的数据库中存储撇号。清理输入(silverlight 或 WCF 方法)的最佳位置在哪里,我该怎么做?

顺便说一句,我不担心 SQL 注入,因为我将在几天内实现参数化查询。

谢谢

0 投票
4 回答
6497 浏览

php - 在没有 mysql_real_escape_string 的情况下清理联系表格

我通常使用此功能在将表单输入存储到数据库之前对其进行清理:

直到今天,我还没有意识到这mysql_real_escape_string需要数据库连接,因为我只在将数据存储到数据库之前清理数据时才使用它。

我尝试在联系表单上使用该功能并收到“无法建立到服务器的链接”错误。我可以连接到数据库,但没有必要,因为我只是想在通过联系表格将数据发送到我的电子邮件之前对其进行清理。

清理未存储在 mysql 数据库中的数据的最佳方法是什么,是否仍需要清理这些数据?

0 投票
5 回答
10252 浏览

php - PHP:如何用 strip_tags($_POST[...]) 批量替换 $_POST[...]

我目前正在从讨厌的 XSS 攻击中恢复过来,并意识到我从未对我网站上的几个表单上的输入进行清理。我使用 Notepad++ 的 Find In Files 功能在我所有的 PHP 文件中进行搜索$_POST,得到了将近 5,000 个结果。现在,我真的不想手动添加strip_tags到这些结果中的每一个,但是全部替换并不能解决问题……而且当涉及到正则表达式之类的东西时,我完全是个菜鸟。

有什么办法可以让这件事变得不那么乏味吗?

0 投票
1 回答
283 浏览

ruby-on-rails - 视图中有关 Rails sanitize() 的建议或我的代码的安全性

我有一个包含此 sanitize() 代码的部分:

我希望用户能够嵌入视频、链接、图片、使用斜体、粗体等。

这有多不安全,如果我把它放在实时网站上,我应该期待或准备处理什么?

注意:这是假设显然没有对输入进行消毒。

谢谢阅读。

0 投票
1 回答
465 浏览

cakephp - cakePHP:重载清理

在最近的 cakePHP 1.3.4 版本中,我发现 Sanitize::html 返回双重编码的 html 实体 - 因为新添加的 htmlentities 'double_encode' 的第四个参数。

这是 cakePHP 的相应票证:http: //cakephp.lighthouseapp.com/projects/42648/tickets/1152-sanitizehtml-needs-double_encode-parameter-in-htmlentities

由于我需要在 PHP 5.2.14 上使用 cakePHP 1.3.4,我需要更改 double_encode 参数。有没有办法重载蛋糕中的 Sanitize::html 方法,这样我就不必摆弄核心了?

0 投票
1 回答
617 浏览

security - 如何清理用户为联网应用程序创建的文件名?

我正在开发一个即时通讯应用程序,用户可以在其中接收朋友的文件。

接收到的文件的名称由文件的发送者设置,可以多个文件一起发送,有子目录的可能。例如,一起发送的两个文件可能是“1”和“sub/2”,这样下载的结果应该是“downloads/1”和“downloads/sub/2”。

我担心这会带来安全隐患。就在我的脑海中,对于类 Unix 用户来说,两个具有潜在危险的文件名可能类似于“../../../somethingNasty”或“~/somethingNasty”。我想到的其他潜在问题是目标文件系统不支持字符的文件名,但这似乎更难并且可能更好地忽略?

我正在考虑删除接收到的“..”和“~”文件名,但这种我个人认为问题案例的黑名单方法似乎很难成为良好安全性的秘诀。清理文件名以确保不会发生任何险恶的推荐方法是什么?

如果它有所作为,我的应用程序正在使用 QT 框架的 C++ 上运行。

0 投票
3 回答
16773 浏览

ruby-on-rails - 在 Rails 控制器中使用 sanitize

我正在尝试sanitize在控制器内调用。这是我尝试过的:

但是,我收到此错误:

我四处搜索,人们建议将 include 行切换为 include ActionView::Helpers,但这会导致此错误:

正确的调用方式是sanitize什么?我正在使用 Rails 2.3.5。