jjzjj

safe_constantize

全部标签

ruby - rake "already initialized constant WFKV_"警告

尝试运行rakecucumber:ok并收到此错误:/Users/dev/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.4/lib/rack/backports/uri/common_192。rb:53:警告:常量WFKV_已经初始化然后:命令失败,状态为(1):[/Users/dev/.rbenv/versions/1.9.2-p290/bin...]我是Rails的新手,Google没有针对此错误提供任何信息。编辑:我试过添加bundleexec,但没有任何区别。这是我用--trace得到的结果:/User

ruby-on-rails - 警告 : toplevel constant referenced

我有四个模型(Document、Question、Question::Document和Answer)。在我的Answer模型中有validates:text,presence:{:unless=>Proc.new{|a|a.question.is_a?Question::Document}}这给了我警告警告:Question::Document引用的顶层常量文档如何防止出现此警告(不重命名我的类)? 最佳答案 您的文件夹/文件结构应如下所示:app/models/question/document.rbanswer.rbdocum

ruby-on-rails - 包含模块时出现 "Uninitialized constant"错误

我正在尝试引用关联扩展,但它出错了:NameError(uninitializedconstantUser::ListerExtension):app/models/user.rb:2:in`'这是我的实现:app/models/user.rbclassUsertrue,:extend=>Listerlib/lister.rbmoduleListerExtensiondeflisterself.map(&:to_s).join(',')endend我正在使用Railsv3.1.3。 最佳答案 AndrewMarshall对自动加载设

ruby - 烦人的 "warning: already initialized constant"消息的解决方案

今天我偶然发现了一个与Ruby常量有关的棘手问题。在我们的团队中,有人创建了一个模块,该模块包含在多个模型中。在我们的(规范)测试中,此结果输出到警告消息中,例如:/home/ayrton/project/lib/life_cycle.rb:5:warning:alreadyinitializedconstantRESET解决这个问题的一种方法是,像这样声明常量:moduleLifeCycleunless(const_defined?(:RESET))RESET='reset'end#...end我还阅读了AvdiGrimm撰写的博客文章,其中提供了替代方案solution,我想知道您

ruby-on-rails - 警告:constant::Fixnum 在生成新模型时被弃用

我试图为此找到一些解决方案,但我真的找不到与运行rails命令时出现的错误相关的任何内容:railsgeneratemodelBooktitle:stringsummary:textisbn:string/home/vmu/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51:warning:constant::Fixnumisdeprecated/home/vmu/.rbenv/versions/2.4.0/lib/ruby/gems/2

Javascript 清理 : The most safe way to insert possible XSS html string

目前我正在将此方法与jQuery解决方案结合使用,以从可能的XSS攻击中清除字符串。sanitize:function(str){//returnhtmlentities(str,'ENT_QUOTES');return$('').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');}但我觉得它不够安全。我错过了什么吗?我在这里尝试了phpjs项目中的htmlentities:http://phpjs.org/functions/htmlentities:425/但它有点错误并返回一些额外的特殊符号。也许是旧

带有嵌入式 Ruby : How to safely assign a ruby value to a javascript variable 的 Javascript

我在页面的javascriptblock中有这一行:res=foo('');处理@ruby_var中有单引号的情况的最佳方法是什么?否则它会破坏JavaScript代码。 最佳答案 我想我会使用rubyJSON@ruby_var上的库,为字符串获取正确的js语法并去掉'',fex.:res=foo()(在require"json"'ing之后,不完全确定如何在页面中执行此操作,或者上述语法是否正确,因为我没有使用该模板语言)(另一方面,如果JSON曾经更改为与js不兼容,那将会中断,但由于大量代码使用eval()来评估json,我怀

javascript - grunt-ng-constant 目标不能持续工作

我在grunt-ng-constant中遇到了一个奇怪的问题,其中3个目标中只有2个有效。我的配置如下所示:grunt.initConfig({ngconstant:{options:{space:'',wrap:'"usestrict";\n\n{%=__ngModule%}',name:'config'},//Environmenttargetsdevelopment:{options:{dest:'/scripts/config.js',},constants:{ENV:{name:'development',apiEndpoint:'http://your-developmen

javascript - 如何让外部代码 'safe' 运行?只是禁止 eval()?

我希望能够让社区成员提供他们自己的javascript代码供其他人使用,因为用户的想象力集体远远超过我所能想到的。但这引发了固有的安全问题,特别是当目的是允许外部代码运行时。那么,我可以禁止提交中的eval()并结束它吗?还是有其他方法可以评估代码或在javascript中引起大规模panic?还有其他一些事情是不允许的,但我主要担心的是,除非我可以阻止字符串被执行,否则我为特定方法设置的任何其他过滤器都可以被绕过。可行,还是必须求助于作者提供网络服务接口(interface)? 最佳答案 自HTML5现在可以使用了sandbox对

javascript - 一个 "safe place"来评估 Javascript 中的受信任代码(具有特定上下文)? [编辑: how can you break it?]

不要在标题上评判我,我知道eval是邪恶的,但我这样做是有原因的,而且会非常有限。事情是这样的:我想创建一个安全的空间,我可以在其中运行特定的(和受信任的)代码,并检索结果(如果它符合我的期望)。出于安全原因,我想将它从所有其他范围中删除(这个空间被要求提供结果,并且应该不能单独将任何内容导出到周围的范围)。我找到了一个似乎可行的解决方案,它也可以为执行添加上下文,但我不确定它是否有效,或者该系统中是否存在安全漏洞。你能告诉我它是否有问题吗?它实际上创建了与全局变量同名的本地变量,以防止访问它们。它还剥离了功能(我将添加功能以保留我想要保留的功能)。该函数声明为最接近全局变量,以避免更