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

php - 使用 Wordpress,有人能告诉我清理输入的最佳方法吗?

我正在开发一个使用 Wordpress 作为 CMS 的应用程序。

我有一个包含很多输入字段的表单,在存储到数据库之前需要对其进行清理。
我想防止 SQL 注入、注入 javascript 和 PHP 代码以及其他有害代码。

目前我正在使用自己的方法来清理数据,但我觉得使用 WP 使用的功能可能会更好。

我已经查看了 Wordpress 中的数据验证,但我不确定我应该使用多少这些功能,以及以什么顺序使用。谁能告诉最好使用哪些 WP 功能?

目前,我正在通过执行以下操作“清理”我的输入:

  1. 因为带有重音符号(é、ô、æ、ø、å)的字符以一种有趣的方式存储在数据库中(即使我的表设置为ENGINE=InnoDB和) DEFAULT CHARSET=utf8COLLATE=utf8_danish_ci我现在正在使用 htmlentities 转换可以有重音符号的输入字段()。

  2. 创建用于输入数据的 SQL 字符串时,我使用mysql_real_escape_string().

我认为这不足以防止攻击。因此,非常感谢您提出改进建议。

0 投票
2 回答
170 浏览

javascript - 我如何允许 rails 有 javascript: 在数据中

我有一个广告 html 数据库,其中一些包含 Javascript 函数。有没有办法让rails允许javascript:特定模型上特定属性的标签?

为了进一步澄清,我可以在编辑表单中显示 html,但是当我尝试提交时,我的浏览器 (Firefox) 说连接已重置。IE 也给了我一个错误。允许提交 html 的唯一方法是从标记中删除 javascript:。

我的猜测是,这是 Rails 的一项安全措施,不允许 javascript 注入,但是,我无法控制这些广告的 html,而且许多广告中都有 javascript。

如果我的猜测确实正确,有没有办法覆盖这个模型的这个属性的安全性?还是我在这里偏离目标?

我在 Ruby 1.8.7 上使用 Rails 2.3.4

0 投票
2 回答
2387 浏览

ruby-on-rails - 有没有像对控制器进行消毒的东西?

有没有像对控制器进行消毒的东西?

0 投票
1 回答
867 浏览

php - PHP FILTER_SANITIZE_URL 瑞典域名

我正在尝试filter_input并且filter_var我目前正在尝试使用FILTER_SANITIZE_URL.

测试程序从一个 GET 变量中获取输入,该变量由一个 URL(例如foo.com/bar.php?a=http://www.domain.se)组成。只要我不使用瑞典域名,它就可以正常工作。例如: ( foo.com/bar.php?a=http://www.äta.se) 被清理到 a =http://www.ta.se显然不一样的地方。

0 投票
1 回答
84 浏览

javascript - 从输出中替换特殊字符

...返回浏览器版本,在我的情况下,它的“3.6”。由于我将使用它作为类名,因此我想删除任何特殊字符,包括“。” 在其中,或将其替换为“-”或“_”并将所有内容小写。想消毒基本就是了。

谢谢!

0 投票
4 回答
1467 浏览

php - 使用 PHP 清理内容的最佳方法?

哪种是“清理”内容的最佳方式?一个例子...

示例 - 消毒前:

示例 - 消毒后:

它应该做什么

  • 它应该添加 p-tags 而不是像换行符一样。
  • 它应该删除空白空间,如三倍空间
  • 它应该删除双换行符。
  • 它应该删除标签。
  • 它应该删除内容之前的换行符和空格(如果有)。
  • 它应该删除内容后的换行符和空格(如果有)。

知道我使用该str_replace功能,它应该是一个更好的解决方案吗?

我希望函数看起来像这样:

0 投票
1 回答
14132 浏览

ruby-on-rails - Ruby on Rails:不使用 find 时如何为 SQL 清理字符串?

我正在尝试清理一个涉及用户输入的字符串,而不必在可能的情况下手动制作我自己的可能有问题的正则表达式,但是,如果这是唯一的方法,如果有人能指出我正确的方向,我也将不胜感激不太可能丢失任何东西的正则表达式。Rails 中有许多方法可以让你输入本地 SQL 命令,人们如何逃避用户输入?

我要问的问题是一个广泛的问题,但在我的特殊情况下,我正在使用我的 Postgres 数据库中的一个列,据我所知,Rails 本身并不理解该列,即 tsvector,它包含纯文本搜索信息。Rails 能够像字符串一样对其进行读写,但是,与字符串不同的是,当我在模型中执行 vector= 之类的操作时,它似乎不会自动转义它。

例如,当我执行 model.name='::',其中 name 是一个字符串时,它可以正常工作。当我执行 model.vector='::' 时,它会出错:

这似乎是分号缺少转义导致的问题,我可以手动设置vector='::' 很好。

我也有一个好主意,也许我可以这样称呼:

但是,这种语法不起作用,因为原始 SQL 命令无权访问 find 使用 ? 转义和输入字符串的方法。标记。

这让我觉得与使用任何类型的用户输入调用 connection.execute 相同,因为这一切都归结为清理字符串,但我似乎找不到任何方法来手动调用 Rails 的 SQL 字符串清理方法。任何人都可以提供任何建议吗?

0 投票
1 回答
1487 浏览

ruby-on-rails - NameError: 未初始化的常量 Nokogiri::HTML::DocumentFragment

大约三个小时前,我开始在生产服务器中看到上述错误。它来自对 sanitize gem 的调用:

该错误仅发生在生产服务器(linux)上,而不是我的开发机器(windows)

我尝试回滚我最新的部署,但它没有修复它。

我已经更新为清理 1.2.0(这是由 带来的最新版本gem update sanitize,尽管我注意到我的主机运行的是 1.3.6。

谁能提供任何线索来帮助解决这个问题?

0 投票
2 回答
525 浏览

php - 安全地编码并将字符串从 html 链接传递到 PHP 程序

需要哪些步骤来安全地编码并使用 javascript 从 html href 传递字符串以构建到 php 程序的链接。

在 javascript 中设置 URL

在 php 中:

0 投票
5 回答
3827 浏览

javascript - 使用 JavaScript 清理 SQL 输入的最佳实践?

因此,随着 HTML5 在客户端为我们提供本地 SQL 数据库,如果您想编写 select 或 insert,您将不再有能力通过说来清理第三方输入,$buddski = mysql_real_escape_string($tuddski)因为 PHP 解析器和 MySQL 桥离得很远。这是一个全新的 SQLite 世界,您可以在其中编写查询并使用 JavaScript 解析结果。

但是,虽然您可能不会让整个站点的数据库崩溃,但由于恶意注入攻击而导致其数据库损坏或擦除的用户会相当沮丧。

那么,在纯 JavaScript 中,最好的方法是转义/清理您的输入,以免它们对用户的内置数据库造成严重破坏?

小脚本?规格?任何人?