草庐IT

code-injection

全部标签

javascript - 利用 JavaScript 的 eval() 方法

许多开发人员认为应该避免使用JavaScript的eval()方法。从设计的Angular来看,这个想法是有道理的。当有更简单、更好的选项可用时,它通常用作丑陋的解决方法。但是,我不理解对安全漏洞的担忧。当然,运行eval()使黑客能够运行您可以运行的任何JavaScript代码。但是他们不能这样做吗?至少在Chrome中,开发者工具允许最终用户运行他们自己的JavaScript。eval()为什么比开发者工具更危险? 最佳答案 正如B-Con所提到的,攻击者不是坐在计算机前的那个人,因此可以使用脚本中已有的eval()作为将恶意代

javascript - 命令被忽略。未知目标 : undefined when setting Custom Dimension in Google Analytics tracking code

我正在我的GoogleAnalytics跟踪代码中设置一个自定义维度,但是我在打开GoogleAnalytics调试器的Chrome控制台中看到一个奇怪的错误。这是我的代码,它会在每个页面上触发。我向区域账户和全局/汇总账户报告,我创建了两个跟踪器来实现这一点。(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*newDate();a=s.createElement(o),m=s.getEleme

javascript - Grunt wiredep 没有注入(inject) font-awesome

我目前正在从事一个已经开始使用yeoman的项目。出于某种原因,当我运行grunt-wiredep时,除了font-awesome之外,所有依赖项都被正确地注入(inject)到我的index.html中。这是我的bower.json文件:{"name":"watermelon","version":"0.0.0","dependencies":{"angular":"^1.3.0","angular-animate":"^1.3.0","angular-bootstrap":"~0.13.3","angular-cookies":"^1.3.0","angular-google-ma

解决报错: ERR! code 128npm ERR! An unknown git error occurred

在github下载的项目运行时,进行npminstall安装依赖时,出现如下错误:npmERR!code128npmERR!AnunknowngiterroroccurrednpmERR!commandgit--no-replace-objectsls-remotessh://git@github.com/nhn/raphael.gitnpmERR!git@github.com:Permissiondenied(publickey).npmERR!fatal:Couldnotreadfromremoterepository.npmERR!npmERR!Pleasemakesureyouhave

javascript - AngularJS:如何在加载时防止页面出现 "code flash"

我使用AngularJS创建了一个简单的应用程序。当我打开页面一秒钟时,我看到以下屏幕:但是,加载完成后,我看到加载和样式化的内容很好:如何防止AngularJS代码在我的页面上闪烁?这与FOUC有关吗?这是HTML代码:Foundation|Welcome.row.full-width{width:100%;margin-left:auto;margin-right:auto;max-width:initial;}SalaryCalculatorLocationUnitedKingdomAnnualSalaryMonthlyExpensesYearlyMonthlyWeeklyDai

javascript - 组件从 v5 或 v4 降级到 angularJS 时出现 Angular 注入(inject)器错误

我创建了简单的angular5组件HelloComponent:varHelloComponent=function(){};HelloComponent.annotations=[newng.core.Component({selector:'hello-world',template:'HelloWorld!'})];接下来我尝试在我的angularJS指令中使用这个组件,例如:angular.module("app",[]).directive("helloWorld",ng.upgrade.static.downgradeComponent(HelloComponent))但是

javascript - Rails + Jasmine-Ajax : what is the correct way to test code triggered by `ajax:success` (jquery-ujs)

我正在尝试测试某个内部库,该库在ajax:success事件上触发了一些JS行为。库创建一个如下所示的链接:在库的JS部分有事件绑定(bind)代码,这是我想通过它对DOM的影响进行黑盒测试的部分:$(document).on'ajax:success','.special-link',(e,data,status,xhr)->#CodethathassomeeffectontheDOMasafunctionoftheserverresponse该库在浏览器中按预期工作。但是,当我尝试通过调用$('.special-link').click()测试Jasmine中的库时,无法观察到对D

javascript - Firefox 扩展 : Error calling executeScript on file but not code

我正在尝试在新选项卡打开时在该选项卡中执行脚本。在我的后台脚本中我有:varlistener=function(tab){browser.tabs.executeScript(null,{file:"content_scripts/contentScript.js"});}browser.tabs.onCreated.addListener(listener);在contentScript.js中:functionfoo(){console.log("Executed");}foo();由此我得到以下错误:Error:Permissiondeniedtoaccessproperty"c

javascript - browsersync 可以在不刷新的情况下在浏览器中注入(inject)更新的内容吗?

我正在使用browsersync+gulp使用一些很酷的浏览器插件,perfectPixel举一个例子。我的问题是每次我保存我的工作时,它都会强制浏览器重新加载,从而清除浏览器并关闭我的浏览器扩展。这导致我不得不重新激活插件并继续这个低效的工作流程。有人有什么想法吗?2015年7月7日更新在Matthew下方,提供了一些指向包含websockets的解决方案的链接,但是我无法让它与我的gulp设置一起使用。vargulp=require('gulp'),open=require('gulp-open'),browserSync=require('browser-sync').creat

javascript - Chrome JavaScript 调试器中的 "Just My Code"

有没有办法强制Chrome的调试器在单步执行代码时跳过特定的源文件或函数? 最佳答案 这现在在Chrome开发者工具中作为“框架黑盒”功能可用:https://developer.chrome.com/devtools/docs/blackboxing更新链接:https://developers.google.com/web/tools/chrome-devtools/javascript/reference#blackbox 关于javascript-ChromeJavaScript