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

php - “清理”要存储在 SQL 数据库中的信息的最佳方法是什么?

设想:

我有一个博客,我想在上面发帖。我设置了一个表单,我可以在其中写出博客文章并将其提交到单独的 php 页面,然后将其存储在数据库中(在确认是我发布后),从中读取并显示在主页上. 如何轻松转义任何引号或任何会干扰它存储在数据库中但仍允许它正确显示的内容(所有格式都完好无损)?

谢谢

0 投票
2 回答
4491 浏览

javascript - 如何从 JS 中的字符串中去除坏字符?

我的 JS 使用“stringify()”将一些字符串数据保存到 JSON,但观察输出的 JSON 字符串,我看到很多奇怪的字符(超出键空间),例如 NULL 和其他坏字符。现在我没有这些“坏”字符的列表,那么如何将它们从我的字符串数据中删除?

0 投票
2 回答
1263 浏览

html - 从 HTML 标记中清除所有内联事件

对于 HTML 输入,我想中和所有具有内联 js 的 HTML 元素(onclick=".."、onmouseout=".." 等)。我在想,编码以下字符还不够吗?=,(,)

所以 onclick="location.href='ggg.com'"
会变成 onclick%3D"location.href%3D'ggg.com'"

我在这里想念什么?

编辑:我确实需要接受活动的 HTML(我不能全部转义或实体是它)。

0 投票
3 回答
7750 浏览

php - 使 Web 表单输入在各种情况下安全的正确方法是什么?

你们都认为什么是正确的(阅读:最灵活、松散耦合、最健壮等)使来自 Web 的用户输入安全地用于 Web 应用程序的各个部分的方法?显然,我们可以为每个上下文(数据库、屏幕显示、磁盘保存等)使用各自的清理功能,但是是否有一些通用的“模式”来处理不安全的数据并使其安全?是否有一种既定的方法可以强制将其视为不安全,除非它被适当地安全化?

0 投票
5 回答
69170 浏览

php - 通过 PHP 在 GET 中清理用户数据

你如何通过 PHP 清理 $_GET -variables 中的数据?

我只清理 GET by 中的一个变量strip_tags。我不确定是否应该对所有内容进行清理,因为上次将数据放入 Postgres 时,使用pg_prepare.

0 投票
2 回答
2758 浏览

iphone - 带撇号的 iPhone SQLite 命令

我正在为 iPhone 编写一个与 SQLite 数据库通信的应用程序,但我遇到了一个小问题。每当我尝试根据包含撇号的条件查询信息时,都不会返回任何结果......即使存在与请求条件匹配的结果。让我给出一些具体的...

SQLite 表


行--列1--列2----------

  1. 测试数据 - 001
  2. 用户数据 - 002

Objective-C 代码


我是 Objective C 的半新手,所以在编写这段代码时我的第一个想法是清理用户输入。但是在做了一些研究之后,我读到 sqlite3_bind 调用为你做了必要的清理工作。但是每当代码运行时,while 循环就会被跳过,因为没有返回任何行。它应该从数据库表中返回第二行。如果我将完全相同的SQL 查询复制/粘贴到 SQL 管理程序中(我使用SQLite Manager)(当然还有必要的查询卫生),它会返回正确的数据。

我花了很长时间尝试自己调试它,甚至花费更多时间尝试在线搜索正在解释和解决的类似问题,但无济于事。到目前为止,我只是禁用了用户在 iPhone 的虚拟键盘上键入撇号的功能。但这是我很想在我的成品中包含的一个功能。这里有人可以给我任何有用的提示吗?任何形式的帮助将不胜感激。

0 投票
1 回答
437 浏览

javascript - 服务器端 JavaScript 清理或沙箱?

我正在考虑允许用户输入 JavaScript 以在我的应用程序中指定一些逻辑。JavaScript 将被输入并显示在浏览器中,但它会被保存并首先在服务器端进行验证。

这带来了明显的安全隐患。

理想情况下,我只想允许 JavaScript 语言的一个子集。直观地说,选择加入方法 - 指定允许的内容,并禁止其他所有内容 - 似乎比选择退出方法 - 指定不允许的内容更安全。

我见过的很多解决方案都是客户端的——我认为服务器端的解决方案更适合我的需求,因为如果 JavaScript 无效,我可以向用户提供反馈,并且只在服务器上保存一次它是“干净的”。

放置一些东西来解析 JavaScript 并执行一些检查也很有用 - 例如,我会向用户提供一些变量,我想检查他们没有使用任何未初始化的变量,或者代码以预期的格式返回一些东西。沙盒解决方案至少应该不会阻碍这一点,但它可能会积极提供帮助 - 如果它通过解析代码而不仅仅是正则表达式来工作,并且我可以放入自己的钩子来检查一些语法。

Google Caja 看起来可以做我想做的事,但我并没有深入研究它。

你会推荐什么方法?

开源解决方案很棒。我不介意编写自己的代码,但这似乎是一个从头开始正确解决的重要问题。

0 投票
3 回答
2541 浏览

ruby-on-rails - 在 Rails 中清理 Markdown?

用户可以在我的应用程序中编辑“文章”。每篇文章都在数据库中掌握并作为 Markdown 发送到客户端——我使用 Javascript 将其转换为 HTML 客户端。

我这样做是为了当用户想要编辑文章时,他可以编辑并将 Markdown 发布回服务器(因为它已经在页面上)。

我的问题是如何清理我发送给客户的 Markdown——我可以只使用 Rails 的sanitize助手吗?

另外,一般对这种方法有什么想法吗?我想到的另一个策略是在服务器上渲染和清理 HTML,只有当用户想要编辑文章时才将 Markdown 拉到客户端。

0 投票
2 回答
2600 浏览

php - PHP:允许用户发表带有特定标签的帖子

我网站上的用户可以发布新闻。但是现在,就 HTML 而言,这都是荣誉系统。

我希望用户能够链接到图像、构建表格、加粗字词等,但我不希望他们能够链接到恶意脚本等等。我知道有一些方法可以从用户输入中转义 HTML,但是有没有办法在允许某些标签的同时做到这一点?

0 投票
3 回答
1647 浏览

java - 在 Java 中清理 HTML Id 属性的函数

我已经编写了下一个函数。但肯定有人有更优雅的方式来执行这项任务。