[RUBY-ON-RAILS] 3 SSL 중단 레일
RUBY-ON-RAILS3 SSL 중단 레일
나는 레일 3.0.0에 응용 프로그램을 업그레이드하고 있고 SSL을 추가하기위한 표준 방법이 변경된 경우 (나는 확실하지가 데모 용으로 만 있다면 해요하지만 왠지 지금 SSL을 처리 할 수있는 라우터를 나타내는 데모를 기억) 궁금. 나는 현재, 그러나 그것은 준다은 "ssl_requirement"보석을 사용합니다 :
또한, 처리하는 새로운 '데이터 방법은'속성 때 휴식 나타납니다. 예를 들면 :
<%= link_to "Logout", user_path, :method => :delete %>
응용 프로그램의 SSL 섹션에서 액세스 할 때 잘 작동하지만, 나는 파괴 작업은 보안 전송하지 않는 것으로 알고 있지만, 사용자가 컨트롤러의 모든 행동이 SSL을 필요로 (비 SSL 섹션에서 다음 때 (show 액션을 렌더링하는 시도) 실패 데이터).
해결법
-
==============================
1.그것은 참 레일 (3)에서 설정 / routes.rb 꽤 간단합니다 :
그것은 참 레일 (3)에서 설정 / routes.rb 꽤 간단합니다 :
MyApplication::Application.routes.draw do resources :sessions, :constraints => { :protocol => "https" } end
또는 여러 경로에 대한 강제 SSL해야하는 경우 :
MyApplication::Application.routes.draw do scope :constraints => { :protocol => "https" } do # All your SSL routes. end end
그리고 다음과 같이 수행 할 수 있습니다 SSL 경로에 링크 :
<%= link_to "Logout", sessions_url(:protocol => 'https'), :method => :delete %>
자동 상응하는 HTTPS 기반 URL 일부 컨트롤러 (또는 실제로, 일부 서브 패스를) 리디렉션하려면, 당신은 (나는이 부분은 간단했다하고자하는) 당신의 경로로 이런 일을 추가 할 수 있습니다 :
# Redirect /foos and anything starting with /foos/ to https. match "foos(/*path)", :to => redirect { |_, request| "https://" + request.host_with_port + request.fullpath }
-
==============================
2.접근에 정착 최고의 솔루션 I을 찾고 오후를 지출 한 후이 문서에서 설명 : http://clearcove.ca/blog/2010/11/how-to-secure-a-rails-app-on-heroku-with 레일에 2 응용 프로그램을 ssl_requirement를 사용하여 강제 SSL :이 문서를 참조 -ssl-에서 Firesheep /
접근에 정착 최고의 솔루션 I을 찾고 오후를 지출 한 후이 문서에서 설명 : http://clearcove.ca/blog/2010/11/how-to-secure-a-rails-app-on-heroku-with 레일에 2 응용 프로그램을 ssl_requirement를 사용하여 강제 SSL :이 문서를 참조 -ssl-에서 Firesheep /
기본적으로이 작업을 수행 :
# lib/middleware/force_ssl.rb class ForceSSL def initialize(app) @app = app end def call(env) if env['HTTPS'] == 'on' || env['HTTP_X_FORWARDED_PROTO'] == 'https' @app.call(env) else req = Rack::Request.new(env) [301, { "Location" => req.url.gsub(/^http:/, "https:") }, []] end end end # config/application.rb config.autoload_paths += %W( #{ config.root }/lib/middleware ) # config/environments/production.rb config.middleware.use "ForceSSL"
-
==============================
3.Toppic하지만 단지 사람들을 인터넷 검색에 대한 오래된 :
Toppic하지만 단지 사람들을 인터넷 검색에 대한 오래된 :
에서 * 응용 프로그램 / 컨트롤러 / your_controller.rb *
class LostPasswordsController < ApplicationController force_ssl def index #.... end end
세계적 경우 것은 응용 프로그램 컨트롤러에서 사용
http://apidock.com/rails/ActionController/ForceSSL/ClassMethods/force_ssl
... 들으 S.L. 팁
-
==============================
4.나중에 레일 (적어도 3.12+) 다음, 특정 환경을 사용할 수 있습니다 :
나중에 레일 (적어도 3.12+) 다음, 특정 환경을 사용할 수 있습니다 :
에서 설정 / 환경 / production.rb (또는 다른 환경)
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. config.force_ssl = true
from https://stackoverflow.com/questions/3634100/rails-3-ssl-deprecation by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 컬 인증서 오류 때 루비 1.9.2 설치 RVM을 사용하여 (0) | 2020.02.11 |
---|---|
[RUBY-ON-RAILS] 레일 응용 프로그램에서 쿠키 오버 플로우? (0) | 2020.02.11 |
[RUBY-ON-RAILS] 노코 기리 설치 -libxml2이없는 실패 (0) | 2020.02.11 |
[RUBY-ON-RAILS] IN, EMU kontroller (0) | 2020.02.11 |
[RUBY-ON-RAILS] RSpec에를 사용하여 파일 업로드를 테스트 - 레일 (0) | 2020.02.10 |