草庐IT

安全开发

全部标签

javascript - 使用 document.body.innerHTML.replace 有多安全?

正在运行类似:document.body.innerHTML=document.body.innerHTML.replace('旧值','新值')危险吗?我担心某些浏览器可能会搞砸整个页面,并且由于这是将放置在我无法控制的站点上的JS代码,谁知道哪些浏览器可能会访问我有点担心.我的目标只是在整个body中寻找一个字符串的出现并替换它。 最佳答案 绝对有潜在危险-特别是如果您的HTML代码很复杂,或者如果它是其他人的HTML代码(即它是CMS或您创建可重用的javascript)。此外,它还会销毁您在页面元素上设置的所有事件监听器。用

javascript - JavaScript 有安全延迟吗?

一种不占用资源,只停止执行1秒然后执行的方式?我想做的是动态地将Google仪表从一个值移动到另一个值,从而产生移动到该值而不是跳到该值的效果。即-for(original_value;original_value这是一种可行的方法还是更接近于演示所做的更好?:Howto:DynamicallymoveGoogleGauge? 最佳答案 没有。Web浏览器中的JavaScript不仅是单线程的,而且与浏览器渲染共享同一个线程。如果您的JavaScript代码被阻止,浏览器UI将在此期间变得无响应。处理JavaScript中基于时间的

javascript - 可以使用 Ruby on Rails 开发 google chrome 扩展吗?

我不确定为什么它告诉我这个问题是主观的。我在整个互联网上都看过,找不到答案。我知道谷歌浏览器扩展的内容脚本通常是用javascript编写的。这和Ruby之间有什么联系?我知道Rails是Ruby的Web开发框架。我只是在学习所有这些东西。 最佳答案 RubyonRails是Ruby语言的服务器端代码框架。Chrome扩展是用纯Javascript编写的。两人永远不会见面。您可能想使用CoffeeScript,它是一种类似Ruby的语言,已转换为Javascript。(我从未尝试在其中编写Chrome扩展程序,但我认为它会正常工作)

javascript - canvas.toDataURL() 和 drawImage() 的安全错误

vardiv=document.getElementById("new");varcanvas=document.getElementById("canvas");varctx=canvas.getContext("2d");varimg=newImage();img.src='http://www.w3.org/html/logo/downloads/HTML5_Logo_512.png';//img.src='local.png';img.onload=function(){//drawstheimageonthecanvas(works)ctx.drawImage(img,0,0

javascript - Chrome 开发者工具控制台 - 日志堆叠,如何查看重新记录的内容 [内部屏幕截图]?

我刚刚开始使用Chrome开发者工具中的控制台(一般来说对Javascript来说还是个新手)。我注意到,当我连续两次记录同一个变量(在本例中是一个对象)时,日志会堆叠它并在它旁边放置一个小数字图标。我点击这个以为我将能够看到该对象两次(因为它已经更新了两次),但是没有任何反应。更多说明图片:如您所见,Object下拉列表旁边的蓝色圆圈中有一个小“2”。第一个日志在3处有Object.num,第二个在4处,但是我只能看到第二个。任何关于如何查看两个日志的答案都将不胜感激。:). 最佳答案 发生这种情况是因为您两次记录同一个对象。即使

c# - 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

我有一个MVC操作,它的参数之一是DateTime,如果我传递“17/07/2012”,它会抛出一个异常,指出参数为null但不能有null值但如果我传递01/07/2012,它会被解析为Jan072012。我正在以DD/MM/YYYY格式将日期传递给ajax调用,我是否应该依赖MM/DD/YYYY格式,尽管在web.config?这是一个简单的方法,只有一个日期参数。 最佳答案 在Asp.NET-MVC中,您有三个安全选项来发送日期参数:将其作为YYYY/MM/DD发送,这是国际日期的ISO标准。使用POST请求代替GET请求。如

javascript - jquery 只从开发工具控制台返回第一个输入元素

我有以下html:................我想选择所有的输入元素,但是当我输入时:$("input")在chromedevtools控制台中,我只得到第一个元素:我可以输入什么来获得输入元素的完整列表? 最佳答案 这不是一个愚蠢的问题。这实际上是Chrome开发者工具带来的困惑行为。这里发生的事情是您没有包含JQuery。GoogleChrome在Chrome开发者工具中提供了变量/函数$。它与jQuery不同。这是关于它的文档:https://developers.google.com/chrome-developer-t

javascript - Javascript 的 toUpperCase() 语言安全吗?

Javascript的字符串原型(prototype)方法toUpperCase()是否会在每种支持UTF-8的语言/字符集中提供自然预期的结果?我试过简体中文、韩语、泰米尔语、日语和西里尔语,到目前为止结果似乎还算合理。我可以相信该方法是语言安全的吗?示例:"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス".toUpperCase()>"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス"编辑:正如@Quentin指出的那样,还有一个String.prototype.toLocaleUpper

javascript - 与 boolean 值相乘是否安全(并且更好)?

我有一段代码有很多if和elseif。我现在只是想,在乘法中,true的计算结果为1,false的计算结果为0。用:if(!this._isFetched('studentInfoFetched')){tempAddedTime+=1;estimatedTimePerStudent+=0.04+0.2;}if(formInputValues.student_expiration){tempAddedTime+=(!this._isFetched('studentExpirationFetched'))?14:0;estimatedTimePerStudent+=1;}对于:tempAd

javascript - 如何在开发者控制台中使用 Chrome 注入(inject) jQuery?

问题我曾经能够(在本地)使用以下两个Chrome扩展中的任何一个来轻松地将jQuery注入(inject)到还没有jQuery的页面中,并且我没有拥有(客户端)来试验设计更改、开发修改和实时故障排除:jQueryInjector-ChromeWebStorejQueryEverywhere-ChromeWebStore不幸的是,现在由于防止“XSS”(跨站点脚本)的最新热潮,这些插件不再有效。这些变化背后可能有一个崇高的目的,我只是想了解发生了什么变化。我认为这与“内容安全策略”有关,我最近才听说,对此知之甚少。我第一次知道XSS是2011年的浏览器问题,但是之前XSS的防范措施从来没