草庐IT

虚拟号安全

全部标签

javascript - 通过 AJAX 验证用户身份的最简单安全方法是什么?

我正在构建一个具有Java后端的GoogleAppEngine网络应用程序,它在很大程度上依赖于浏览器中的JavaScript/JQuery(您可以看到它here)。我想实现一个用户身份验证机制,该机制也将依赖于AJAX(即,他们将能够在不刷新页面的情况下注册和登录)。我不想依赖Google的身份验证,因为我发现很多人都不愿意放弃他们的GMail电子邮件地址,但我希望将来支持通过Google/Facebook/Twitter等进行身份验证。我喜欢Reddit用户身份验证方法的简单性。我担心的是,由于人们不会通过HTTPS使用我的应用程序,我不想必须通过HTTP以明文形式发送密码。我也更

javascript - 在输入中使用 javascript eval() 进行简单计算是否安全?

我想允许用户在文本输入中执行简单的计算,这样键入2*5的结果将是10。我将除数字以外的所有内容替换为空字符串,然后使用eval()进行计算。与手动解析相比,这似乎更容易并且可能更快。人们常说eval()是不安全的,所以我想知道在这种情况下使用它是否有任何危险或缺点。function(input){value=input.value.replace(/[^-\d/*+.]/g,'');input.value=eval(value);} 最佳答案 那是安全的,不是因为您正在净化它,而是因为它全部由用户输入并在他们自己的浏览器中运行。如果

javascript - 丑化和混淆之间的区别?多一个安全吗?

最近我被要求混淆我的javascript以隐藏客户端的apikey。我正在使用咕噜声。威尔grunt-contrib-uglify混淆我的js?丑化和混淆有什么区别?一种比另一种安全得多吗? 最佳答案 Uglify是一个代码压缩工具。它解析JS,从代码中构建token树,然后可用于压缩/缩小代码或“美化”代码,使其可读以进行调试等。Uglify不会混淆您的代码。另一方面,使用混淆工具,例如StephenMathieson'sObfuscator可以将多个项目文件拼接成一个,捆绑需求和打包。在这种情况下,它还会在最后对整个作业进行Ug

javascript - ES2015 模板字符串安全问题

这是来自MDN的引述:TemplatestringsMUSTNOTbeconstructedbyuntrustedusers,becausetheyhaveaccesstovariablesandfunctions.还有一个例子:`${console.warn("thisis",this)}`;//"thisis"Windowleta=10;console.warn(`${a+=20}`);//"30"console.warn(a);//30这里的例子没有显示任何我能看到的漏洞。任何人都可以举一个利用此漏洞的示例吗? 最佳答案 这毫

javascript - 如何在 javascript 中安全地解析日期 HTTP header

如果我使用Date.parse(),我“几乎可以保证”能够解析我程序中的内容吗?在Mozilla'sentryforDate.parse,他们写道:Givenastringrepresentingatime,parse()returnsthetimevalue.ItacceptstheRFC2822/IETFdatesyntax(RFC2822Section3.3),e.g."Mon,25Dec199513:30:00GMT".我自己的服务器返回Sun,24May201505:37:13GMT。问题是,WikipediatellsmethattheDateheaderfollowsth

javascript - 绕过 IE 文件下载安全规则的技术有哪些?

如果相应请求不是直接从用户操作(如“点击”处理程序或native表单提交)。可能还有更多细节和细微差别,但这是让我感到沮丧的基本行为。在我看来,这种情况很常见:某些可下载内容(例如准备好的PDF报告)前面的用户界面允许在创建内容时使用某些选项和输入。现在,对于允许用户规定应用程序如何做某事的所有表单,输入可能会出错。不总是,但有时。因此有一个两难选择。如果客户端试图做一些花哨的事情,比如运行AJAX事务让服务器审查表单内容,然后重新提交以获取下载,IE不会喜欢那样。它不会喜欢它,因为携带附件的实际HTTP事务不会发生在原始用户操作事件处理程序中,而是发生在AJAX完成回调中。更糟糕的是

javascript - 如何在网页中安全地使用 "eval"用户代码?

我正在开发一个网络应用程序来教授编程概念。网页有一些关于编程概念的文本,然后让用户在文本编辑器窗口中输入javascript代码以尝试回答编程问题。当用户点击“提交”时,我会分析他们输入的文本,看看他们是否已经解决了问题。例如,我要求他们“编写一个名为f的函数,将其参数加三”。以下是我正在做的分析用户文本的工作:在具有严格设置的文本上运行JSLint,尤其是在不假设浏览器或控制台功能的情况下。如果有任何错误,显示错误并停止。eval(usertext);遍历传递赋值的条件,eval(condition)。示例条件是"f(1)===4"。条件来自可信来源。显示通过/未通过条件。我的问题:

javascript - 如何在浏览器中安全地运行用户提供的 Javascript 代码?

想象一个场景,我想连续调用用户提供的Javascript代码,如下例所示,其中getUserResult是某个用户(不是我自己)编写的函数:for(vari=0;i如何在浏览器和/或Node.js中执行此类代码,而不存在任何安全风险?更一般地说,如何执行不允许修改甚至读取当前网页或任何其他全局状态的Javascript函数?是否有类似浏览器内“JS虚拟机”的东西?JSFiddle如何确保您不能运行任何恶意代码(至少它可以钓鱼您的登录名,在页面的生命周期内运行机器人,如果不是做更糟糕的事情)?或者它根本不能确保这一点? 最佳答案 经过

javascript - 如何告诉 IE 我磁盘上的 HTML 文件没有安全风险?

我们的构建脚本创建了一个带有一些嵌入式javascript的HTML日志。当我在InternetExplorer中打开它时,我看到IE已阻止运行“脚本或activex控件”的黄色警告栏。因为它是一个本地文件,我无法将它添加到受信任的站点(IE需要一个域)。我不想更改默认区域的安全设置。知道如何永久解锁它吗?IE版本在XPPro上是7.0.5730.13。 最佳答案 嵌入MarkoftheWeb: 关于javascript-如何告诉IE我磁盘上的HTML文件没有安全风险?,我们在Stack

javascript - Firebase 安全规则 Emberfire 每个节点的多个访问级别

我有两个Ember模型:一个items和comments.用户将发布一个项目,其他用户将能够对该项目发表评论。我无法在firebase中设置允许name的安全规则和description只能由当前用户写入,但允许comments由任何登录用户写入。项目//app/models/item.jsexportdefaultDS.Model.extend({name:DS.attr('string'),description:DS.attr('string'),comments:DS.hasMany('comment'),user:DS.belongsTo('user')})评论//app/m