线程是安全的。但是要注意 Thread.current[:xxx]
类似全局变量,小心在其他地方被修改了。起个不冲突的名字,应该没问题吧?
request.headers[X-CSRF-Token]
和 页面上的 meta tag 一样。
比如
<meta content="authenticity_token" name="csrf-param" />
<meta content="3sYnxLVEbfdbWUrpMosTeRFS56QvcThA+XNscU916Ck=" name="csrf-token" />
你是不是把这个缓存了?
session 是在 cookie 的吗?
由于 csrf_token 校验不过,那么可能重置 session。所以要查看 session[:_csrf_token] ,那么要在可能重置之前,来查看 session 的内容。
如果 session 按照 rails 的默认方式,保存在 cookie 里,那么你可以把 session 解码出来,看看对不对。
用 form_tag
、form_for
等 helper 方法,也会设置这个 session[:_csrf_token]
你如果在 view 里掉用过 csrf_meta_tags
,那么就会设置。这个方法内部调用了 form_authenticity_token
方法,其实就是这个方法设置的。
在 development 环境下,如果 csrf_token 验证失败,默认会重置 session。
请查看源码 actionpack/lib/action_controller/metal/request_forgery_protection.rb
session[:_csrf_token]
和 HTTP header 里的 X-CSRF-Token
,要一致,你看看是否一致呢?
因为大牛都去美帝了…
先找本 信息安全概论 当科普读物过一遍。再针对每个章节查资料,深入理解下。可能还得了解一下密码学
如果你想永久删除已经存在于版本库中的文件,可以参考这篇文章 https://help.github.com/articles/remove-sensitive-data
是 Mandarin 吧
哪里都有坑 :)
不知道楼主什么意思。隐约觉得可以先选定一个颜色,转换成 HSL,然后做调整。可以参考以前的帖子 http://ruby-china.org/topics/7250
&self
就是调用 self.to_proc
我觉得你能否及时得到结果更重要。所以,如果公司没有通知,你可以主动询问。
因为 360 狠关注吧
如果是 OS X,那可能加载 .bundle 文件
附一个前几天写的 gist 供参考 https://gist.github.com/zhangyuan/5932220
爪机不方便查代码,提示一下,可以用 img.combine_options(:convert) {|c| ...}
来拼参数。在这个 c 这个对象上面调用 push 方法把参数连起来。参数都是 shellescape
过的,不怕注入。
注意如果使用 convert 处理图片,会把原图路径作为第一个参数。不需要 convert 的话,可以参考 combine_options
的实现,跳过对 :convert
的处理。
楼主找 Google 不到答案,就静下心来看看源码吧。
#6 楼 @dadadada2x crontab 执行任务时,他的环境变量 PATH
的值,有可能和在命令行手动执行不同。我感觉是环境变量的问题。我上面的方法,就是为了在执行任务时,使用指定的 PATH
。
在 bundle exec rake
前加上 PATH=xxxxxx
。
如果你用 whenever,那么用
job_type :rake, "cd :path;PATH=#{ENV['PATH']} bundle exec rake :task RAILS_ENV=production"
楼上在说 c++ 似的…
在 partial 里有访问数据库逻辑,必须得慢…
今天看 mini_magick 的源码,是用的 shellescape
https://github.com/minimagick/minimagick/blob/master/lib/mini_magick.rb#L452