问题标签 [input-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 投票
14 回答
124275 浏览

php - 如何使用 PHP 在 SQL Server 中转义字符串?

我正在寻找mysql_real_escape_string()SQL Server 的替代方案。是addslashes()我最好的选择还是可以使用其他替代功能?

的替代方案mysql_error()也很有用。

0 投票
3 回答
186 浏览

filter - 在php中过滤用户输入

我想知道 trim()、strip_tags() 和 addlashes() 的组合是否足以过滤来自 $_GET 和 $_POST 的变量值

0 投票
5 回答
23514 浏览

mysql - 如何使用 Perl 的 DBI 防止 SQL 注入攻击?

在将输入放入 MySQL 数据库之前,我可以在 Perl 中使用一个函数来清理输入吗?我不太了解正则表达式,所以在我制作自己的函数之前,我想知道是否已经制作了一个。

0 投票
7 回答
7076 浏览

php - preg_match 在输入饱和中是否安全?

我正在构建一个新的网络应用程序,LAMP 环境......我想知道 preg_match 是否可以信任所有基于文本的字段(也不是 HTML 字段;电话,姓名)的用户输入验证(当然是准备好的 stmt) , 姓氏等..)。

例如,对于经典的“电子邮件字段”,如果我检查如下输入:

我可以对 SQL/XXS 注入轻松入睡吗?

我将正则表达式编写得尽可能严格。

编辑:如前所述,我确实使用了准备好的语句,并且这种行为仅适​​用于基于文本的字段(如电话、电子邮件、姓名、姓氏等),因此不允许包含 HTML(对于 HTML 字段,我使用 HTMLpurifier)。

实际上,我的任务是仅在输入值与我的 regexp-white-list 匹配时才让其传递;否则,将其返回给用户。

ps: : 我正在寻找没有 mysql_real_escape_strings 的东西;可能该项目将来会切换到Postgresql,所以需要一个跨数据库的验证方法;)

0 投票
4 回答
6079 浏览

php - PHP输入消毒剂?

有哪些好的 PHP html(输入)消毒剂?

最好是,如果内置了某些东西-我想对我们说。

更新

根据请求,通过注释,输入不应允许HTML(并且显然防止 XSS 和 SQL 注入等)。

0 投票
2 回答
250 浏览

php - 用于清理用户格式化输入并使 XHTML Strict 兼容的 PHP 解决方案

进行用户格式化输入的最佳解决方案是什么

  1. 安全 + 脚本/无闪存
  2. XHTML 严格兼容

Tidy将 HTML 转换为 XHTML Strict。是否有任何类似/替代选项可以执行此操作以及清理和删除嵌入式脚本和闪存?

0 投票
1 回答
549 浏览

winforms - 如何在整个 .Net winforms 应用程序中将输入限制为有限的字符集。(vb.net/c#)

我工作的公司拥有可笑的旧数据库系统和许多遗留应用程序,当它们遇到非 ascii 字符时会抛出严重错误。

由于他们意识到这些应用程序需要离开,他们开始将后端包装在 vb.net WinForms 应用程序中,并且在包装这些旧系统 1.5 年后,他们发现了这个错误。

他们聘请我来解决问题。:(

在许多情况下,UI 是使用来自 DevExpress 等第三方的数据绑定和 FormView-esque 解决方案构建的。因此,分解 UI 并使用类似于以下的一些中间效用函数重新组合它们需要大量工作:

我正在寻找一种可以破解 Applications CultureInfo(或其他一些属性)的方法,以便所有文本框本身只处理 ASCII,类似于许多 Web 浏览器似乎表现出的行为。

另请注意:许多文本输入来自 dev express,因此即使正在使用的文本框也被包裹起来。

有没有办法附加到表单的 ControlAdded 事件并将控件设置为仅处理 ASCII 或 utf-8/utf-7?

一定有人遇到过这种情况。如果我不能实施一些可怕的黑客攻击,我将需要 2 年的时间来修复所有这些应用程序。

0 投票
4 回答
714 浏览

php - NSString 中的转义字符

我遇到了一个问题。我有一个 NSString,我想将此字符串发送到服务器以插入数据库。但是当 NSString 是(例如)时我有问题:

这不是学生。

这个字符串通过这个脚本发送到服务器端:

由于“ isn't”部分,插入查询无法运行并失败。

现在我想转义字符,这意味着“ isn't”将变为“ isn\'t”,以便我可以插入数据库。我想问我该怎么做?

谢谢你。

0 投票
1 回答
1702 浏览

javascript - 基于 JavaScript 的 X/HTML 和 CSS 清理

在每个人都告诉我不应该进行客户端清理之前(我确实打算在客户端上进行,尽管它也可以在 SSJS 中工作),让我澄清一下我正在尝试做什么。

我想要一些类似于Google CajaHTMLPurifier但用于 JavaScript 的东西:一种处理 HTML 和 CSS 的基于白名单的安全方法(当然还没有插入到 DOM 中,这不安全,但首先以字符串形式获得)然后有选择地过滤掉不安全的标签或属性,忽略它们或选择性地将它们作为转义文本包括在内,或者以其他方式允许将它们报告给应用程序以进行进一步处理,理想情况下是在上下文中。如果它也可以将任何 JavaScript 减少到一个安全的子集,就像在 Google Caja 中一样,那将是很酷的,但我知道这会要求很多。

我的用例是访问通过JSONP获得的不受信任的 XML/XHTML 数据(在 wiki 处理之前来自 Mediawiki wiki 的数据,从而允许原始但不受信任的 XML/HTML 输入)并允许用户对该数据进行查询和转换(XQuery、jQuery、 XSLT 等),利用 HTML5 允许离线使用、IndexedDB 存储等,然后可以在用户查看输入源并构建或导入查询的同一页面上预览结果。

用户可以产生他们想要的任何输出,所以我不会清理他们正在做的事情——如果他们想将 JavaScript 注入页面,他们将全力以赴。但我确实想保护那些希望有信心添加代码的用户,这些代码可以安全地从不受信任的输入中复制目标元素,同时禁止他们复制不安全的输入。

这绝对应该是可行的,但我想知道是否有任何图书馆已经这样做了。

如果我坚持自己实现这一点(尽管我对这两种情况都很好奇),我想证明innerHTML在插入文档之前使用或 DOM 创建/附加是否在各个方面都是安全的。例如,如果我第一次运行DOMParser或依赖浏览器 HTML 解析通过使用innerHTML将原始 HTML 附加到未插入的 div,是否会意外触发事件?我相信它应该是安全的,但不确定 DOM 操作事件是否会在插入之前以某种方式发生,这可能会被利用。

当然,在那之后构建的 DOM 需要进行清理,但我只是想验证我是否可以安全地构建 DOM 对象本身以便于遍历,然后担心过滤掉不需要的元素、属性和属性值。

谢谢!

0 投票
5 回答
2709 浏览

php - 为管理员清理表单输入

在我网站的管理区域中,我在检索进入数据库的表单输入时一直在使用 mysqli_real_escape_string。它工作正常,但我意识到它不会阻止脚本注入。我的意思是我可以通过以下脚本:

除了这个,我还能用什么来防止恶意管理员注入一些讨厌的东西?

  • htmlentities()?
  • strip_tags()?
  • htmlspecialchars()?

在输入数据不需要html的后端表单中清理表单输入的正确方法是什么?我很困惑?