问题标签 [javascript-security]

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 投票
6 回答
8818 浏览

javascript - 禁用从 chrome 控制台编辑 javascript?

所以,我今天才注意到,您显然可以在 chrome 控制台中运行 javascript。我不知道你能做到这一点。这真的很酷。

在我的 rails 应用程序中,我有一个外部 javascript 页面。该页面上的一些变量我希望是全局的,以便 JS 文件中的所有函数都可以访问它们。例如,我有一张地图,我希望地图对象在 javascript 文件中是全局的,因为这样我的所有函数都可以访问一个地图变量而不是创建自己的变量,并且我可以将复杂的操作分解为更小的函数。

这一切都很好,我知道该怎么做,而且效果很好。我现在的问题是,我可以保护变量不受外部影响吗?例如,您可以从 chrome 控制台更改所有 javascript 类变量的值。以及地图中的方法是可访问和可执行的。我已将地图设置锁定在其中一个页面上,因此它不可缩放或可移动,但是从控制台我可以简单地说map.setZoom(11),地图将缩放到 11.. 我可以打字map.dragable = true,然后你可以拖动地图.. 我真的不喜欢这个..

这还不算太糟糕,就像用户启用地图拖动和缩放并不是世界上最糟糕的事情。但我仍然想禁用它。有任何想法吗?

编辑

感谢大家的回答和评论。我想我只会诉诸不将任何可能变成恶意的东西放入我的 javascript 中,并做一些事情,例如将我的 map 变量传递给必要的函数以减慢人们的速度。

0 投票
2 回答
16556 浏览

javascript - 检查 Javascript 中的正整数:性能和安全性

我已经编写(并复制)了几行 Javascript,它很好地满足了我的目的。但我试图找出一种更好的方法(跨浏览器和更好的性能)来做到这一点。我从朋友那里复制了该isInteger函数,但我不明白为什么我们在以下情况下检查字符串值:

上述条件工作正常,但是当我将其更改为检查数值时,功能会中断。输入字段开始接受字母字符。这是我更改它时的样子:

我试图注释掉部分,以便您了解正在发生的事情。此代码中是否还有任何安全漏洞?我读到 1innerHTML1 方法可以打开一些安全漏洞,因此我们需要对其执行“干净”操作。因此我选择使用 jQuery 的.html方法(我是 JavaScript 新手)

有问题的页面:http ://thehotdeal.net/clients/wehtmlit/index.php?order/

0 投票
1 回答
81 浏览

javascript - 从我们的 api 通过网络发送 javascript 的安全性;有没有更好的办法?

我们有一个非常简单的 api 并且想要返回在另一个站点上呈现一些内容。我想从我们的 api 端点发送类似的东西(例如http://domain.com/api/endpoint/1就像 <script src='http://domain/api/endpoint/1'> </脚本>):

并逃脱它。无需担心 https 或内容。有两个人含糊地告诉我,他们认为这是不安全的,但我真的不明白如果我们正确处理它会怎么样(无论如何这都是真的)?这安全吗?我错过了什么吗?JSONP 对于这样的事情来说太过分了——我们想要最简单的技术。

提前谢谢

0 投票
2 回答
500 浏览

javascript - 可以使用 Firebug 绕过选项卡上的 jQuery 验证,有没有办法防止这种情况?

安全问题。我有一个 jQuery 代码可以防止标签打开。因此,如果我单击任何选项卡,它会给我警报“拒绝访问”。

但是因为我可以使用 Firebug 或任何其他工具更改脚本,所以我可以设置变量validfrom falsetotrue并且它允许我访问所有选项卡。有没有办法限制这个?

0 投票
2 回答
2445 浏览

jquery - jQuery安全注入html

因此,我通过 json 从外国不受信任的来源接收 html。我想在 div 容器中显示 html,如下所示:

如何防止最重要的 javascript 注入,其次是更改页面的样式。这都是客户端。容器 div 应该是一个灵活的高度以匹配内容的高度(可能排除一些 iframe 解决方案)。

更新:目标是从 html 中删除所有 javascript 和 css。这包括 dom 项的属性中存在的 js 和 css(style=""、onclick="" 等)

0 投票
1 回答
3733 浏览

claims-based-identity - 是否有 javascript 库可以通过 Windows Azure Active Directory 获取身份验证令牌

我有许多使用 Microsoft MVC4 Web Api 创建并使用 WIF 和使用 WS-Fed 的 Windows Azure Active Directory (WAAD) 保护的 Web 服务。

我还有一个纯 HTML5/Javascript 单页应用程序 (SPA) 客户端,需要访问这些 Web api。

Javascript 中是否有任何已知的示例/库来处理与 WAAD 的交互

  • 确定用户是否已经登录。
  • 登录用户并在需要时获取安全令牌
  • 交互完成后退出。

如果没有,是否有任何推荐的链接到实现类似功能所需的文档。

0 投票
2 回答
359 浏览

javascript - 安全性:在 JavaScript 中将函数作为参数传递

我对 JavaScript 非常陌生,所以请多多包涵!

例如,我想知道您是否将一个函数作为参数传递给 JavaScript 中的另一个函数(免责声明:代码可能不是 100% 正确,但您应该明白这一点!):

这是潜在的安全风险,还是 JavaScript 中常见的编程方式?

谢谢。

0 投票
1 回答
84 浏览

security - diff认证/授权机制

我有一个使用 HTML 和 JavaScript 构建的 Web 应用程序。在我的应用程序中,我必须与多个其他网站集成。为此,我必须使用通用的安全身份验证/授权机制。我对其他应用程序和身份验证/授权机制的控制有限。

  • 我最初考虑将密码保存在 cookie 中,并在 URL 中发送所有应用程序的用户名和密码。这种方法根本不安全。

  • 我考虑过使用摘要访问身份验证或公钥身份验证的其他选项。

  • 然后我遇到了基于声明的身份验证机制。

我应该为我的 Web 应用程序选择哪种机制?

另外,我必须做些什么来维护安全的身份验证会话?

0 投票
2 回答
209 浏览

javascript - 数组构造函数“new Array()”可以被恶意代码覆盖和替换,怎么办?

我们可以通过以下几种方式创建数组:

或者:

第二种方法比 new Array() 语法更安全,因为 Array 构造函数可以被覆盖并可能被恶意代码替换。

我在许多 JavaScript 书籍中都看到了上述内容,但我不明白Array构造函数如何被恶意代码覆盖和替换?我正在寻找某人如何做到这一点的示例,以便我了解问题的现实。

0 投票
0 回答
39 浏览

javascript - 保护脚本不被用户阅读

我有一个带有自定义 SoapHeader 的 SOAP WebService,我在其中添加了 2 个属性:用户和密码,我想使用 AJAX 调用它,但我不希望任何人阅读它们,但应用程序可以使用它。我一直在寻找,但没有出现,这可能吗?