草庐IT

w网络安全

全部标签

javascript - 为什么使用 '*' 作为 postMessage 的 targetOrigin 存在安全风险?

当对postMessage()方法的targetOrigin使用通配符时,我很难理解安全问题。您调用postMessage()的窗口是否已经有一个我们要将数据发送到的来源?怎么会有人能够干涉它?使用window.location.origin将targetOrigin设置为窗口的原点是否不好?我理解在接收端检查事件源的重要性(如图here所示),但我似乎无法理解为什么发送端使用通配符作为targetOrigin是不好的当窗口已经有一个特定的原点时。 最佳答案 这本身不是风险。这只是意味着任何人都可以将您的内容嵌入到框架中并阅读您通过

javascript - 使用node js访问本地网络驱动器

NodeJs在fs/io操作方面很棒,但我无法使用它来访问共享(用于存储)本地网络驱动器。filesystem.writeFile('\\192.168.1.1\test.txt','data!',function(error){...});我收到UNKNOWN_ERROR,但没有帮助!上面的IP可以通过资源管理器访问(我在Windows上)没有问题,并且是可写的(对于我的windnows用户)。这里有什么问题?! 最佳答案 请记住,在JavaScript字符串文字中,\是转义字符。您要求写入的实际文件名是\192.168.1.1e

javascript - 是否可以在 vue-router 中锁定除一条以外的所有路由?安全吗?或者我应该使用另一种方法?

我想做一个在线考试,这个考试有5页,有一个倒计时计时器(120秒),每页有4个问题。120秒后,用户将自动转到下一页,或者他们可以在此之前单击下一步按钮。Laravel5.4和VueJs,用户回答的每个问题都有一个Ajax请求。我想要的是阻止用户看到其他页面。每个页面最多只能显示120秒。用户不应该能够点击后退按钮并查看之前的页面。这可能吗?我想用Vuejs和vue-router创建这个应用程序,但我不知道如何用vue-router实现它,我做了一些研究,但没有得到太多结果!或者也许我不应该使用vue-router,而是使用我自己的简单路由器,例如:$("#page1").show()

javascript - 为什么第一个网络调用比后续调用花费更多时间?

我试图理解这种行为,即第一个网络调用需要后续调用的两倍以上。我知道DNS解析不会超过5-50毫秒,而且只发生在初始调用中。考虑到此信息,第一次调用和后续调用所花费的时间应该不会有太大差异。我已经在单独的隐身窗口中使用一些著名的URL测试了这种行为,每个URL都禁用了缓存,并附上了一些屏幕截图以支持我在下面的观察。谁能帮助我理解这种行为?注意:读数是在全速互联网连接下获取的提前致谢 最佳答案 经过几次实验,我发现ContentDownload(browserrequeststeps)部分请求提速了1.5-2倍这看起来像是TCPSlow

javascript - 在 Opera 中哪里可以禁用跨网络保护?

在JSsecurityissuewithOpera11.01,aftermovingfromserverAtoB我了解到Opera有一些“跨网络”保护。我遇到了同样的js安全问题,我发现Opera11.10(“Barracuda”)添加了禁用跨网络保护的首选项。我的Opera是11.50,但我找不到具体的偏好设置。我是否误解了“跨网络”的含义?非常感谢。 最佳答案 现在的Opera是基于chromium的,所以你应该使用chromium的方式来禁用SOP并处理没有CORSheader的请求:cdc:\ProgramFiles\Ope

javascript - 执行以下操作是否 100% 安全?

执行以下操作是否100%安全?varuntrusted_input_from_3rd_party='alert("xss")';document.getElementsByTagName('body')[0].appendChild(document.createTextNode(untrusted_input_from_3rd_party));考虑到第三方可以输入任何东西(HTML、CSS等),如果我通过createTextNode传递然后添加到主场? 最佳答案 这是防止XSS的好方法。通过createTextNode进行的DOM

javascript - 对模块化 Javascript 网络应用程序进行单元测试

我正在使用BackboneJS和RequireJS构建一个网络应用程序,需要通过AJAX为UI交互和数据检索实现某种形式的单元测试。我遇到过QUnit和Jasmine但我真的不知道如何将它集成到我的应用程序中。如果我正在测试以下内容:用户登录正常吗?从服务器接收到的数据是否正常?点击按钮是否会触发预期的响应?点击事件是否适用于动态加载的html内容?应用程序是否正确响应哈希/推送状态url的变化?我想测试必须直接集成到我的应用程序中,以便访问特定的JS对象,使用session特定的数据并响应推送状态URL的变化。如何将QUnit或Jasmine(或其他建议)集成到我的模块化应用程序中以

javascript - 在网络浏览器中,窗口对象是原生 ECMAScript 对象吗?

ECMAScript规范定义了一个"uniqueglobalobjectthatiscreatedbeforecontrolentersanyexecutioncontext".此全局对象是ECMAScript的标准内置对象,因此是native对象。规范还指出:Inadditiontothepropertiesdefinedinthisspecificationtheglobalobjectmayhaveadditionalhostdefinedproperties.Thismayincludeapropertywhosevalueistheglobalobjectitself;for

javascript - javascript eval 真的有那么大的安全威胁吗?

这个问题在这里已经有了答案:WhyisusingtheJavaScriptevalfunctionabadidea?(25个答案)关闭9年前。假设没有可用于修改某人计算机的浏览器端安全漏洞,我不明白使用eval会如何导致任何真正的威胁。谁能解释一下这是怎么可能的。有人可以在用户的​​计算机上显示某些内容,但如果不进行重定向或接受下载,就不会造成真正的伤害。不会造成服务器端损坏,对吧?

javascript - 获取任何 JavaScript 值或对象的字符串表示的安全方法

我想在JavaScript中获取任何对象或值的字符串表示形式。我做了几个实验。>vara=document.createTextNode('foo');a"foo">vara=document.createTextNode('foo');a.toString()"[objectText]">vara=1;a.toString()"1">(1).toString()"1">1.toString()SyntaxError:UnexpectedtokenILLEGAL我有以下问题:为什么1.toString()会失败?以下函数是否会返回每个可能的JavaScript对象、值或文字的字符串表示