问题标签 [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 回答
1619 浏览

ruby-on-rails - Rails Sanitize:安全 + 允许嵌入

我们正在构建一个用户生成的内容网站,我们希望用户能够在其中嵌入视频、幻灯片共享等内容...任何人都可以推荐一个普遍接受的标签/属性列表以允许在 rails sanitize 中为我们提供相当好的安全性,同时仍然允许大量的可嵌入内容/html格式?

0 投票
3 回答
1173 浏览

python - 安全的 Python Markdown 库

我想让用户留下富文本评论,可能使用降价。我已经安装了 Reddit 上使用的库,但我担心去年发生的 javascript 注入攻击,特别是因为我仍然不清楚攻击的细节。我还应该担心评论安全吗?是否有一个测试字符串可以通过我的系统来检查是否存在导致 reddit 失效的相同缺陷?

0 投票
5 回答
1821 浏览

php - 在 PHP 中清理用户提供的正则表达式

我想创建一个网站,用户可以在其中测试正则表达式(已经有很多......比如这个: http: //www.pagecolumn.com/tool/pregtest.htm)。基本上,用户提供一个正则表达式和一些示例文本,然后将正则表达式评估的结果吐回。

我想使用 PHP“preg_*”函数评估服务器端的正则表达式。有没有办法清理提供的正则表达式?我应该关注哪些安全漏洞?

0 投票
4 回答
383 浏览

php - PHP:显示信息的最佳安全实践?

在 PHP 中,我知道使用参数化查询是防止 SQL 注入的最佳方法。

但是如何清理将用于其他目的的用户输入,例如:

  • 显示回用户(潜在的跨站点脚本向量)
  • 处理电子邮件或填写邮件正文

htmlentities()清理非数据库使用的最佳方法是什么?什么被认为是这里的最佳实践?

0 投票
1 回答
2433 浏览

sql - 输入卫生最佳实践

我们的团队最近一直在为我们的数据库开发逻辑和数据层。我们未被批准将 Entity 或 Linq to SQL 用于数据层。它主要是手工建造的。很多 SQL 是自动生成的。一个明显的下降是需要在检索和插入之前对输入进行清理。

这样做的最佳方法是什么?搜索插入、删除等术语似乎是一种糟糕的方法。有更好的选择吗?

0 投票
1 回答
626 浏览

ruby-on-rails - 使用 simple_format 时清理输入以在视图中显示

我试图找出显示评论的正确方法,以便显示换行符和链接。我知道通常情况下,您应该仅在使用 h() 转义 html 时才显示用户输入。那当然不会显示换行符或链接,所以我找到了 simple_format 和 auto_link 方法。

我现在正在做的是: simple_format(santize(auto_link(comment.text)))

这是执行此操作的正确方法吗?它仍然可以免受 XSS 攻击吗?

谢谢!埃里克

0 投票
2 回答
163 浏览

regex - 如何修复此正则表达式以允许特定字符串?

此正则表达式来自 Atwood,用于过滤除 href 和标题之外的任何锚标记:

我需要允许特别匹配的附加属性:target="_blank"。所以应该允许以下网址:

我尝试将模式更改为:

显然我不太了解正则表达式。应该如何调整图案以允许空白目标和没有其他目标?

0 投票
1 回答
5610 浏览

asp.net - 如何在 Asp.Net 中拦截和预处理 QueryStrings

我们通过电子邮件向客户发送注册网址。一些电子邮件客户端正在将网址转换为

我认为当用户将电子邮件转发给自己时可能会发生这种情况,此时电子邮件客户端会重新格式化原始电子邮件(也许)

例如

https://my.app.com/login.aspx?param=var

变成

https://my.app.com/login.aspx?param=var%20%3Chttps://my.app.com/login.aspx?param=var%3E

正确产生 System.Web.HttpRequestValidationException:检测到潜在危险的 Request.QueryString 值

我应该在代码中的哪个位置拦截这些实例并清理 url,以便将用户重定向到 url 的原始形式?

全球.asax?页面初始化?Http处理程序?管道?

0 投票
3 回答
133 浏览

php - 这种表单输入需要多少消毒?

足以防止恶意 sql 注入和其他类型的攻击。如果不是,我还应该使用什么?

PS 我想允许用户选择包含字母数字、空格和符号字符的用户名和密码(除了那些在 mysql 语句中使用的引号或星号)。

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,所以需要一个跨数据库的验证方法;)