-
2 个赞 • 0 条回复
-
1 个赞 • 8 条回复
-
0 个赞 • 2 条回复
-
集合缓存优化实践 at 2019年01月31日
还有为了复用
cache_key
,为以后缓存优化做准备,引入了cache_key_with_version
和cache_version
,代码已修改 -
集合缓存优化实践 at 2019年01月31日
这个优化主要解决的就是,当集合数据没有变化的时候,不需要查询数据库。 你可以试一下你的demo,即时集合数据中的数据没有任何变化,但是为了生成集合缓存键,他还会进行查询数据库。
-
集合缓存优化实践 at 2019年01月28日
怎么用?展示你的code
-
集合缓存优化实践 at 2019年01月27日
应该不会,即使缓存失效,也只会查询一次数据库。 相交优化前,好很多,优化前不论数据是否修改每次都会查询数据库。
-
[北京] 网利宝招聘 Rails 程序员 2 名 at 2018年12月07日
单人实在不能兼顾项目的速度和质量,只能发帖求助。@jdsh乍一看没认出来,简单师
-
[北京] 网利宝招聘 Rails 程序员 2 名 at 2018年12月07日
新项目在用
-
[北京] 网利宝招聘 Rails 程序员 2 名 at 2018年12月07日
看来遇到老人啦,现在主要是PHP,但是新项目让我来搞,就用Ruby啦
,时间紧只能那趁手的来。
-
[北京] 网利宝招聘 Rails 程序员 2 名 at 2018年12月07日
自带点人气,好不容易来个1楼,怎么删除了
!
-
系统使用 Devise 做的登录,有个需求 [同一帐号被另一台机器登录,本机器被强制退出登录],求大神指点一下 at 2018年09月04日
觉着楼主记录最新的session_id,行的通的。
通过旧的session_id找用户,这种后端主动登出,需要后端向前端交互,实时性高的话需要websocket。
不过如果实时性要求不高的话,你可以通过在过滤器中判断只要与新的session不一致,就sign_out,做这种被动处理。
-
前天微信回调那个 XXE 漏洞 at 2018年07月06日
发现
通过源码跟踪,最终找到xml实体解析类:REXML::Entity ,没有找到对外部实体的引入处理逻辑。
不考虑项目中猴子补丁因素的话,Hash.from_xml() 应该是没有xxe漏洞的。# location: ruby/lib/rexml/entity.rb def value if @value matches = @value.scan(PEREFERENCE_RE) rv = @value.clone if @parent sum = 0 matches.each do |entity_reference| entity_value = @parent.entity( entity_reference[0] ) if sum + entity_value.bytesize > Security.entity_expansion_text_limit raise "entity expansion has grown too large" else sum += entity_value.bytesize end rv.gsub!( /%#{entity_reference.join};/um, entity_value ) end end return rv end nil end
跟踪过程
ruby: 2.3.3
rails: 4.2.7.1- ActiveSupport::XMLConverter
- ActiveSupport::XMLConverter
- ActiveSupport::XmlMini
- ActiveSupport::XmlMini_REXML
- REXML::Document
- ...
- REXML::Entity