草庐IT

线程不安全

全部标签

javascript - setInterval 的这种行为是否意味着 Javascript 中的多线程行为?

在使用javascript时我注意到了这件事。你可以使用vari=0;varstartingTime=newDate().getTime();setInterval("foo()",1);functionfoo(){i+=1;if($("#foodiv").text()==i){//wedetectedadoubledvalue(parallelexecution)$("#repdiv").append("[repetitionon"+i+"]");}$("#foodiv").html(i);$("#timediv").html(Math.floor((newDate().getTim

javascript - javascript中的线程(或类似的东西)

我需要让一段代码始终独立于其他代码运行。有没有办法在javascript中创建一个线程来运行这个函数?--为什么setTimeout对我不起作用我试过了,但它只运行了一次。如果我递归调用该函数,一段时间后它会抛出“太多递归”错误。我需要它每100英里运行一次(这是与嵌入式系统的通信)。--如您所问,这里有一些代码functionupdate(v2){//Iremovedtheuseofv2hereforsimplicitydump("update\n");//thiswilljustprintthestringsetTimeout(newfunction(){update(v2);},

JavaScript 和单线程

我总是听说JavaScript是单线程的;当JavaScript被执行时,它都在同一个全局mosh坑中运行,都在一个线程中。虽然这可能是真的,但单个执行线程可能会产生新线程,异步将数据返回主线程,对吗?例如,当发送XMLHttpRequest时,浏览器是否会创建一个新线程来执行HTTP事务,然后在XMLHttpRequest返回时在主线程中调用回调?定时器——setTimeout和setInterval怎么样?这些是如何工作的?这种单线程是语言的结果吗?在新的WebWorkers草案之前,是什么阻止了JavaScript的多线程执行? 最佳答案

Javascript 和 jQuery 在 https 上不安全

我正在构建一个将在Azure中运行的ASP.NETMVC3应用程序。一切正常,直到我切换到https。现在我的大部分jQuery插件和其他一些javascript都不安全。我正在使用Datatables库以及jsTree、Watermaks和Breadcrumbs。这个脚本的大部分是为了让我们的网站看起来更吸引人。有没有办法保证安全?或者是时候移动一个非常精简的javascript网站了?谢谢你的帮助! 最佳答案 jQuery站点本身不支持https://作为主机。我的建议是下载最新版本并使用相对路径(例如/js/jquery.js

javascript - 我应该在 2019 年将我的 JWT 存储在哪里,localStorage 真的不安全吗?

有趣的话题。因为我正在使用Node.jsApi和ReactReduxClient创建我的第一个真正更大的项目,所以我需要身份验证。现在我不知道如何“正确地”处理身份验证。因为我看了很多关于它的话题,但是意见不一。所以一开始有些人立即说:不要将localStorage与JWT一起使用。例如这里有一篇文章:https://dev.to/rdegges/please-stop-using-local-storage-1i04这是来自auth0的另一篇文章:https://auth0.com/docs/security/store-tokens但后来我更深入地研究了身份验证的广阔世界,我发现很

javascript - 我可以在浏览器 ui 线程和 web 工作线程中安全地使用 html5 中的哪些本地存储

我一直在尝试在基于webkit的浏览器中使用websqldatabaseapi。我一直在主ui线程和webworker中使用asyncapi。两个线程都访问同一个数据库(如您所知,它是底层的sqlite)一切正常,但有时交易会丢失或一个交易失败,这似乎是一个计时/竞争条件。看来对底层sqlite数据库的访问不是线程安全的。更多的背景。我的webworker只是对一个表执行查询,该表可能从主ui线程插入了一条记录。我想知道它是否真的在某个地方记录了什么本地/网络存储可以从用户界面线程和网络工作线程安全地访问?我在某处读到indexeddbapi是线程安全的,但这对我现在没有帮助,因为浏览

javascript - 解释 Node 回调和单线程

node的javascript环境是单线程的,还是所有的事情同时发生?或者(更有可能)这些陈述都没有解释Node发生了什么。我是Node的新手,正在尝试了解它如何处理回调。我对这个主题的谷歌搜索并没有取得成果,而且似乎有多个受众使用“线程、锁定和单线程”等术语,每个受众的上下文不同,而且我没有足够的Node经验来正确解析我在读什么。据我所知,node的javascript执行环境与浏览器一样是单线程的。也就是说,尽管一切都是围绕异步回调设计的,但一切都以确定的顺序发生,并且永远不会有两个线程同时修改同一个变量或运行语句。我还读到这意味着Node程序员用户不必担心锁定语义。如果我在浏览器

javascript - 多个元素上的 jQuery 动画,单个动画线程/计时器还是多个?

我想知道jQuery选择器何时返回多个元素,并且我在所有这些元素上执行了一个“slideDown”...$('.allthisclasss').slideDown();是否存在单个代码循环同步向下移动所有对象,或者jQuery是否分别处理所有对象并且它们每个都有一个执行线程来移动它们自己?我的问题是关于动画优化,如果所有对象只有一个计时器而不是每个对象一个,那就太好了。有人知道jQuery如何处理这种情况吗? 最佳答案 所有动画都会自动添加到jQuery中的全局效果队列中。但这并不意味着它们是按顺序动画的,制作一个简单的测试页面,其

javascript - 检测不安全的 ssl 连接

我们正在运行一个使用自签名ssl证书的Intranet应用程序。客户确实信任我们的CA。多年来,我们一直在使用这种方式。在某些PC上,我们的CA没有导入,用户确实每天都会收到来自浏览器的警告。不幸的是,用户并没有告诉我们这些,他们只是一遍又一遍地说“接受证书”。有没有办法检测页面的信任度?我们正在运行Web应用程序,如果浏览器确实手动接受证书,我们希望得到一条注释。然后我们可以与PC的管理员取得联系,并向他发送一个PC还不信任我们的CA的提示。也许可以通过这种方式检测JavaScript?这很好:如果它看起来像这样,我们希望得到一条注释:更新我不对客户端电脑负责。我无权访问它们来安装或

javascript - Optimizely如何欺骗chrome不提示加载不安全内容

在最新的chrome更新之一中,chrome团队添加了“仍然加载”消息,提示用户批准在安全页面上加载不安全的内容,以某种方式优化地找到了一种“欺骗”chrome不要求的方法问题并简单地使用黄色警告键加载内容,例如:https://www.optimizely.com/edit#url=http://www.yahoo.com/我似乎不明白他们是怎么做到的...有人明白吗?谢谢 最佳答案 看起来他们是在页面加载后执行的。提供的初始页面仅包含无害的-尚未加载不安全的内容。Javascript执行iframe的实际加载.我做了一些测试,但