问题标签 [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.
php - 使用 Wordpress,有人能告诉我清理输入的最佳方法吗?
我正在开发一个使用 Wordpress 作为 CMS 的应用程序。
我有一个包含很多输入字段的表单,在存储到数据库之前需要对其进行清理。
我想防止 SQL 注入、注入 javascript 和 PHP 代码以及其他有害代码。
目前我正在使用自己的方法来清理数据,但我觉得使用 WP 使用的功能可能会更好。
我已经查看了 Wordpress 中的数据验证,但我不确定我应该使用多少这些功能,以及以什么顺序使用。谁能告诉最好使用哪些 WP 功能?
目前,我正在通过执行以下操作“清理”我的输入:
因为带有重音符号(é、ô、æ、ø、å)的字符以一种有趣的方式存储在数据库中(即使我的表设置为
ENGINE=InnoDB
和)DEFAULT CHARSET=utf8
,COLLATE=utf8_danish_ci
我现在正在使用 htmlentities 转换可以有重音符号的输入字段()。创建用于输入数据的 SQL 字符串时,我使用
mysql_real_escape_string()
.
我认为这不足以防止攻击。因此,非常感谢您提出改进建议。
javascript - 我如何允许 rails 有 javascript: 在数据中
我有一个广告 html 数据库,其中一些包含 Javascript 函数。有没有办法让rails允许javascript:特定模型上特定属性的标签?
为了进一步澄清,我可以在编辑表单中显示 html,但是当我尝试提交时,我的浏览器 (Firefox) 说连接已重置。IE 也给了我一个错误。允许提交 html 的唯一方法是从标记中删除 javascript:。
我的猜测是,这是 Rails 的一项安全措施,不允许 javascript 注入,但是,我无法控制这些广告的 html,而且许多广告中都有 javascript。
如果我的猜测确实正确,有没有办法覆盖这个模型的这个属性的安全性?还是我在这里偏离目标?
我在 Ruby 1.8.7 上使用 Rails 2.3.4
ruby-on-rails - 有没有像对控制器进行消毒的东西?
有没有像对控制器进行消毒的东西?
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
显然不一样的地方。
javascript - 从输出中替换特殊字符
...返回浏览器版本,在我的情况下,它的“3.6”。由于我将使用它作为类名,因此我想删除任何特殊字符,包括“。” 在其中,或将其替换为“-”或“_”并将所有内容小写。想消毒基本就是了。
谢谢!
php - 使用 PHP 清理内容的最佳方法?
哪种是“清理”内容的最佳方式?一个例子...
示例 - 消毒前:
示例 - 消毒后:
它应该做什么
- 它应该添加 p-tags 而不是像换行符一样。
- 它应该删除空白空间,如三倍空间
- 它应该删除双换行符。
- 它应该删除标签。
- 它应该删除内容之前的换行符和空格(如果有)。
- 它应该删除内容后的换行符和空格(如果有)。
知道我使用该str_replace
功能,它应该是一个更好的解决方案吗?
我希望函数看起来像这样:
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 字符串清理方法。任何人都可以提供任何建议吗?
ruby-on-rails - NameError: 未初始化的常量 Nokogiri::HTML::DocumentFragment
大约三个小时前,我开始在生产服务器中看到上述错误。它来自对 sanitize gem 的调用:
该错误仅发生在生产服务器(linux)上,而不是我的开发机器(windows)
我尝试回滚我最新的部署,但它没有修复它。
我已经更新为清理 1.2.0(这是由 带来的最新版本gem update sanitize
,尽管我注意到我的主机运行的是 1.3.6。
谁能提供任何线索来帮助解决这个问题?
php - 安全地编码并将字符串从 html 链接传递到 PHP 程序
需要哪些步骤来安全地编码并使用 javascript 从 html href 传递字符串以构建到 php 程序的链接。
在 javascript 中设置 URL
在 php 中:
javascript - 使用 JavaScript 清理 SQL 输入的最佳实践?
因此,随着 HTML5 在客户端为我们提供本地 SQL 数据库,如果您想编写 select 或 insert,您将不再有能力通过说来清理第三方输入,$buddski = mysql_real_escape_string($tuddski)
因为 PHP 解析器和 MySQL 桥离得很远。这是一个全新的 SQLite 世界,您可以在其中编写查询并使用 JavaScript 解析结果。
但是,虽然您可能不会让整个站点的数据库崩溃,但由于恶意注入攻击而导致其数据库损坏或擦除的用户会相当沮丧。
那么,在纯 JavaScript 中,最好的方法是转义/清理您的输入,以免它们对用户的内置数据库造成严重破坏?
小脚本?规格?任何人?