草庐IT

代码注入漏洞

全部标签

javascript - 在沙盒中创建一个变量并执行代码

我如何管理它以通过Run()在Sandbox()中放置变量和运行代码?functionSandbox(){this.test='insandbox';}Sandbox.prototype.Run=function(src){eval.call(this,src);};Sandbox.prototype.getvar=function(name){returnthis[name];};varbx=newSandbox();bx.Run('varx=1;');print(bx.getvar('test'))print(bx.getvar('x'))//undefinedprint(x)请不

c# - 如何在 Ajax(Post) 请求期间抛出自定义 http 状态代码

我需要在Controller和CustomFilterAttribute中的AjaxRequest期间抛出HttpException当我在Controller中抛出Exception并出现403错误时[HttpPost][CustomAuthorize]publicActionResultAjaxSelectBinding(){//403ErrorcodethrownewHttpException((int)HttpStatusCode.Forbidden,"Forbidden");}在客户端脚本中,我总是得到结果代码-500$.ajax({type:'POST',url:'/Grou

javascript - 像在代码编辑器中一样在网页上缩进代码?

是否可以像在代码编辑器中那样在网页上封装缩进代码?请参阅下面的屏幕截图比较以更好地理解我的意思:pre-wrap在网页上:代码编辑器中的缩进换行:我的意思是,缩进的行即使在换行后仍保持缩进。这似乎不会发生在网页上。是否有执行此操作的CSS属性?(JavaScript也可以。)注意:我这里不是在谈论代码高亮。这是关于换行的缩进。如果这很重要——这就是我在网页上显示代码块的方式:if(is_page()&&$post->post_parent){return$post->post_parent;}else{returnfalse;}...并且white-space:pre-wrap;样式应

注入(inject)函数中的 Javascript 作用域

(function(){varprivateSomething="Boom!";varfn=function(){}fn.addFunc=function(obj){alert('Yeahicandothis:'+privateSomething);for(variinobj)fn[i]=obj[i];}window.fn=fn;})();fn.addFunc({whereAmI:function(){alert('NopeI\'llgetanerrorhere:'+privateSomething);}});fn.whereAmI();为什么whereAmI()不能访问private

javascript - DOMParser 注入(inject) DOM 但注入(inject)后不应用 css 样式表?

我有一个小测试用例:http://jsfiddle.net/9xwUx/1/代码归结为以下内容(给定一个id为“target”的节点):varstring='thisshouldbepink,butisnot';varparser=newDOMParser();vardomNode=parser.parseFromString(string,"text/xml");document.getElementById("target").appendChild(domNode.firstChild);如果您运行测试用例,然后通过firebug/chrome网络检查器检查目标节点并选择jsfi

javascript - Jasmine 期待(结果代码)。toBe(200 或 409)

对于某些测试场景,我遇到了针对多个值进行测试的需求,这些值都可以。我想做的事情如下:expect(resultCode).toBeIn([200,409]);当resultCode为200或409时,该规范应该通过。这可能吗?已添加感谢peter和dolarzo指导我创建匹配器。我在使用addMatchers()时遇到了问题。所以,最后我在jasmine.js中添加了以下内容:jasmine.Matchers.prototype.toBeIn=function(expected){for(vari=0;i这给了我一个可行的解决方案。我现在可以根据需要执行toBeIn。(Jasmine1

javascript - 软件故障注入(inject)的真正用途是什么?

我对软件故障注入(inject)的基本理解是这样的:无法运行所有可能的测试来测试软件。因此,人们求助于对代码进行修改并分析由此产生的错误程度。但这有什么用呢?比如说我们有:functionfoo(a,b){returna/b;}我们把它改成了functionfoo(a,b){returnMath.floor(a/b);}那又怎样呢?这到底有什么用?编辑@狮子座,假设我写了一个软件来查找斐波那契数列。我写的测试看起来像这样:断言(fib(1)==1);assert(fib(0)==0);assert(fib(3)==2);我声称100%的覆盖率,因为所有代码行都在这里执行。我的客户运行这

javascript - 了解 Istanbul 尔的代码覆盖率

我刚开始使用一个示例文件(example.js),其中包含以下语句:x=42;if(false)x=-1;我没有任何单元测试文件。但是当我跑的时候istanbulcoverexample.js我看到了一些下面的覆盖率数据===============================Coveragesummary===============================Statements:66.67%(2/3)Branches:50%(1/2)Functions:100%(0/0)Lines:66.67%(2/3)==================================

javascript - Node.js:代码的哪些部分在异步调用后执行?

异步调用是javascript的固有部分,使用回调通常是处理这些调用的优雅工具。但是,我不太清楚异步操作后的代码分支是如何决定的。例如,以下代码会发生什么情况?functionf(callback){value=some_async_call();if(value){callback(value);}return(value);}这里会发生什么?根据我短暂的JS经验,return会发回一个undefined值。但是假设value从异步调用返回true,回调将被调用为正确的值还是undefined值?换句话说,是否有关于哪些操作在异步调用后立即执行,哪些操作延迟到返回值时执行的规则?在提

javascript - 即使是相同的输入,正则表达式在不同代码中的作用也不相同

我正在创建一个代码,该代码的一部分使用了一个正则表达式:varex="122",checker=/(\d)\1{1,}/g,c=pattern.test(+ex);if(c)console.log(`works.`);我的目标是检查是否有重复的数字。当我在较大的代码段中使用上面的代码片段时,问题就出现了。我在上面的代码片段中有相同的输入,但在下面的代码中,正则表达式不起作用代码如下:functionalmostIncreasingSequence(sequence){varclone=[].concat(sequence),l=clone.length,pattern=/(\d)\1{