ruby 使用Rails和Ruby重定向“安全”。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 使用Rails和Ruby重定向“安全”。相关的知识,希望对你有一定的参考价值。

def clean_for_action_based_url(url)
  CGI.unescape(url || "").
    gsub(/\/+/, "/").
    tr('^a-z_-/', "")
end

def clean_url(url)
  url = CGI.unescape(url || "")
  url = url.gsub(/\A((https?:)?\/+)*/, "").gsub(/\/+/, "/")
  url.split("/").map { |v| CGI.escape(v) }.
    join("/").prepend("/")
end

redirect_to clean_url(params[:next]) # Without Rails
redirect_to root_path(params[:next], 
  only_path: true
) # Rails

以上是关于ruby 使用Rails和Ruby重定向“安全”。的主要内容,如果未能解决你的问题,请参考以下文章

Ruby-on-Rails:如何摆脱“你被重定向”页面

Ruby on Rails 301重定向

乘客(Ruby on Rails)中的301重定向从根域到www子域?

localhost在rails上重定向了太多次ruby

从 ruby​​ on rails 重定向到 angular 给 preflight 的响应是无效错误

Ruby on rails omniauth-twitter 和设计