草庐IT

xdebug_get_declared_vars

全部标签

javascript - 为什么这个被屏蔽的 JS 代码在 GET 参数 : '*alert(13)*' executed on my page?

我们对我们的网站进行了白帽扫描,他们返回的漏洞之一是我们的URL附加了whscheck'*alert(13)*'a/。当我们运行完整的URL(https://oursite.com/phorders3/index.php/whscheck'*alert(13)*'a/)时,网站会加载并发出带有值的警报13流行音乐。谁能解释这是如何工作的?星号和a/到底在做什么? 最佳答案 您页面中的代码在Javascript的字符串文字中使用URL中的值,而没有正确转义该值。这意味着任何人都可以将Javascript放在URL中,它就会在页面中执行

JavaScript 本地作用域 : var vs. this

我似乎无法理解JavaScript变量作用域的特定情况。与我发现的其他示例和问题不同,我对嵌套函数的范围界定很感兴趣。我在thisJSFiddle设置了一个示例.相关部分如下:functionMyObject(){varself=this;vara=1;this.b=2;varinnerMethod=function(){//1and2:directreferencelogMessage("a="+a);//a=1//logMessage("b="+b);//Error:bisnotdefined//3and4:usingthislogMessage("this.a="+this.a)

javascript - try/catch 表达式中的 var 关键字 : JSLint bug or global assignment?

我注意到JSLint的一个有趣结果在研究codereview题。JSLint提示变量在定义之前被使用。这是生成相同结果的代码的缩短版本:(function(){try{vara=0;throw{name:"fakeError"};}catch(e){a=1;}}());我对JavaScript的理解是上面的代码应该等同于:(function(){vara;try{a=0;throw{name:"fakeError"};}catch(e){a=1;}}());事实上,当通过Firebug运行时,这两个示例都不会导致a存在于全局范围内。我看了一下ECMA-262spec的第12.14节,但

javascript - 在嵌套函数中使用 var 声明一个与 parent 参数同名的变量

我正在使用JavaScript编写一些代码并发现了意外行为。我在f中使用嵌套函数g。f有一个名为m的参数。在g中使用和声明同名变量时,会发生一些奇怪的事情:varf=function(m){varg=function(){alert(m);varm=0;};g();};f(1);此代码将导致undefined,而不是我预期的1。将alert语句移动到var行下方会得到有意义的答案0。我想这是因为JavaScript仅将函数用作名称闭包,varm将通过声明附加到函数g,但是m在alert时尚未分配。但我不确定这一点,因为如果函数没有嵌套,我觉得它的行为很好:varg=function(m

javascript - ES6 值声明后如何判断它是否为 var/const/let?

这个问题在这里已经有了答案:HowtocheckthatES6"variable"isconstant?(4个答案)关闭3年前。我知道我可以通过查看它的声明位置来确定一个值是varconst还是let。但是我想知道-主要是为了调试、开发JS编译器和学术兴趣-是否有可能在创建变量(var/const/let-ness)后找出它的不变性/范围。即doThing(something)会回来let或等价物。就像我们可以使用typeof或something.constructor.name为构造函数确定类型。

javascript - 如何让 js-mode 正确缩进继续(复合?)var 声明?

如果我使用不同的var语句,例如functionstretchDiv(){varwh=$(window).height();varsz2=wh-((paddingTop+paddingBottom)+(mainTop+2)*2);//thescrollbarhappensonlywhentheheightoftheeltisconstrainedvarsz3=sz2-outTop-2;$('#out').css({'height':sz3+'px'});}然后JSLint提示,告诉我将第二个和第三个与前一个结合起来。如果我遵循这个建议,JSLint会很高兴,但是Emacs的内置js-m

JavaScript 变量 : var a =(3, 4,7);

这个问题在这里已经有了答案:WhatdoesthecommaoperatordoinJavaScript?(5个答案)关闭4年前。vara=(3,4,7);console.log(a);//Outputis7您能否解释一下我们如何获得输出7?

javascript - 如何使用 $.get() 检测服务器重定向

无重复问题这个问题与上面提到的问题不重复,因为我无法控制服务器响应,就像上面其他两个问题一样。我使用$.get将外部文档的内容加载到当前网站。但是,我需要这个外部文档的最终URL。如果原始URL被重定向(302)到不同的URL,我需要新的URL。我可以使用jQuery$.get方法从加载的文档(在302重定向之后)获取最终URL吗?更新根据下面的反馈,我更新了我的代码,但我仍然没有得到最终的URL:$.get(url,function(html,status,xhr){console.log(xhr.getResponseHeader('TM-finalURL'));//result:

javascript - 是否有任何等效于 javascript 的 dbug(*真正*漂亮的 vars 打印)?

我知道firebug中的console.log,这个东西叫做dbug(但根本不是我想要的)。我正在寻找的东西可以给我一个pretty-print嵌套View到一个对象,对于javascript看起来像这样:(来源:ospinto.com)I'malsoawareofthisquestion,并且正在寻找更表格化的内容。 最佳答案 一次尝试:查看演示:http://jsbin.com/oxeki代码:varprettyPrint=(function(){varhtmlObj=function(obj){if(Object.protot

javascript - JS/JQuery跨域Get请求

有没有办法不使用服务器代理来执行跨域GET或POST请求? 最佳答案 如果您只使用最新的浏览器并且可以控制外部域,您可以使用Cross-OriginResourceSharing[CORS]大多数人没有那么奢侈,因此您要么必须使用带填充的JSON[JSONP],要么需要使用服务器端代理。 关于javascript-JS/JQuery跨域Get请求,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que