草庐IT

class-eval

全部标签

javascript - 为什么 eval 在 javascript 中不安全?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whyexactlyisevalevil?我读到有人声称eval在对任意用户输入代码运行时是不安全的。我在访问文件系统等的服务器上运行的其他语言中理解这一点。但是,为什么在浏览器中执行代码时这很重要?毕竟,您不能直接启动Firebug并随意编写您想要的任意脚本吗?那么eval有什么不同呢?

javascript - 如何查看附加到 :hover and other pseudo classes in firebug and the chrome debugger 的样式

我知道一定有办法做到这一点,而且我一直都在解决这个问题,但是,有什么方法可以让我看到(和/或编辑)应用于元素的伪类样式吗?例如,我希望在调试器中编辑.myclass:hover或#someid:active。附言。我真的更关心如何在chrome调试器中执行此操作,尽管对firebug表示赞赏! 最佳答案 检查元素,然后:对于Firebug:请注意,如果您再次飞过该元素,悬停CSS代码将会消失(您必须重新检查:hover)。对于Chrome:您可以看到伪类规则并将它们强制应用于元素。要在“样式”Pane中查看它们,请单击右上角的小虚线

javascript - ng-class 基于 ng-repeat 突出显示事件菜单项。 AngularJS

我有一个基于以下示例的菜单:{{item.title}}item是一个对象,包含菜单项信息。下面是指令和Controller的JavaScript代码:varapp=angular.module("coolApp",[]);functionmenuContrl($scope,$location){$scope.menu=menu;$scope.isActive=function(path){return($location.path()==path)}}问题是ng-class套class至active在页面呈现期间仅一次,但是当您单击菜单项时,没有任何反应。我想这是因为菜单本身没有重新

javascript - 跟踪 Javascript eval 中错误的源代码行

我正在构建一些包含动态异步javascript的东西,这很有效,但我正在寻求改进错误检测(因此所有错误似乎不仅仅来自AJAX调用附近的某行将它们拉下来。如果我使用eval评估多行javascript文件,是否有任何方法可以跟踪错误发生在哪一行?通过在包含时保留对我需要的变量的引用,我可以毫无问题地确定错误发生在哪个文件中。我的问题是确定错误发生在哪行。例子:try{eval("varvalid_statement=7;\ninvalid_statement())))");}catch(e){varerr=newError();err.message='ErrorinEvaldScrip

javascript - 如何在 Leaflet 标记弹出窗口中使用 Angular 指令 ng-click 和 ng-class

我在我所在的位置使用Angular.JS和Leaflet.JS制作map,map标记上绑定(bind)了弹出窗口。我需要使用一个带有两个不同图标(一个显示在下面的代码中)的跨度,您可以单击它们来调用不同的函数,如果满足某些条件,则可以使用ng-class来更改类。这是我的代码:varmarker=L.marker([51.5,-0.09],{icon:blueIcon}).bindPopup('');然而,当我检查元素时,我得到了这个:ng-click应该发送特定对象和对象数组的函数,但是当我单击图标时没有任何反应。在我的研究中,我发现弹出窗口阻止了事件传播(moreinfo,但我不确

javascript - 用于 TypeScript : Class or Interface? 中的纯数据对象的内容

我有一堆没有任何方法甚至构造函数的纯数据“类”(在.NET世界中我们称它们为POCO对象)。示例是客户、产品、用户实体,您可以命名...最初我开始使用typescript类,但现在我认为将它们声明为接口(interface)可能会更好。从性能的Angular来看,不仅...只是在C#中我们习惯于将接口(interface)用于不同的事物,对于“POCO”(Plain-old-clr-object,或“data-only”对象)我们使用只是一个类(有时甚至是结构)。在TypeScript中声明它们的正确方法是什么?请注意,我主要了解(我认为)类和接口(interface)之间的技术差异(

javascript - 开 Jest (): How to mock ES6 class default import using factory parameter

模拟ES6类导入我想在我的测试文件中模拟我的ES6类导入。如果被模拟的类有多个消费者,将模拟移动到__mocks__中可能是有意义的,这样所有的测试都可以共享模拟,但在那之前我想将模拟保留在测试文件中。Jest.mock()jest.mock()可以模拟导入的模块。当传递单个参数时:jest.mock('./my-class.js');它使用在与模拟文件相邻的__mocks__文件夹中找到的模拟实现,或创建一个自动模拟。模块出厂参数jest.mock()采用第二个参数,这是一个模块工厂函数。对于使用exportdefault导出的ES6类,不清楚这个工厂函数应该返回什么。是不是:返回模

javascript - 为什么 let 关键字不能与 eval() 一起使用

这个问题在这里已经有了答案:Defineconstvariableusingeval()(2个答案)关闭4年前。functionfoo(str,a){eval(str);console.log(a,b);}foo("varb=3;",1);这很好用,但是当我们使用let而不是var时,它就不起作用了。为什么?

javascript - ES6 模板文字比 eval 更安全吗?

模板字面量对我来说有点像eval,它经常被引用为usingevalisabadidea.我不关心performanceoftemplateliterals,但我担心注入(inject)攻击(以及我可能没有想到的其他安全问题)。编辑Anexampleofsomethingthatfeelsoddtomeletii=1;functioncounter(){returnii++;}console.log(`${counter()},${ii++},${counter()}`);哪些输出1,2,3模板文字在全局级别产生副作用。既可以通过函数,也可以直接。编辑2Anexampleindicati

PHP Laravel 错误 : Object of class stdClass could not be converted to string

我正在使用Laravel为应用程序开发一项功能,我遇到了这个我无法弄清楚的奇怪错误。我有以下代码作为我的Controller的辅助函数,在我添加对以下函数的调用之前它工作得很好:protectedfunctionf($p){$cIds=$cs->select('cs.id')->get();$cs=DB::table('cs')->select('cs.id')->join('pucs','cs.id','=','pucs.c_id')->where('pucs.p_id','=',(string)$p->id)->whereIn('cs.id',$cIds)->lists('cs.i