class Goofy::Safe::CSRF::Helper
Attributes
req[R]
Public Class Methods
new(req)
click to toggle source
# File lib/goofy/safe/csrf.rb, line 11 def initialize(req) @req = req end
Public Instance Methods
form_tag()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 33 def form_tag return %Q(<input type="hidden" name="csrf_token" value="#{ token }">) end
meta_tag()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 37 def meta_tag return %Q(<meta name="csrf_token" content="#{ token }">) end
reset!()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 19 def reset! session.delete(:csrf_token) end
safe?()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 23 def safe? return req.get? || req.head? || req[:csrf_token] == token || req.env["HTTP_X_CSRF_TOKEN"] == token end
session()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 41 def session return req.env["rack.session"] end
token()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 15 def token session[:csrf_token] ||= SecureRandom.base64(32) end
unsafe?()
click to toggle source
# File lib/goofy/safe/csrf.rb, line 29 def unsafe? return !safe? end