Blue라고하는 응용 프로그램을 만들려고한다고 가정 해 봅니다. Blue는 모든 웹 사이트의 배경을 파란색으로 바꾸는 Ruby on Rails 응용 프로그램입니다. 또한 사용자가 로그인하여 방문한 웹 사이트를 추적하고 파란색으로 변하게 할 수 있습니다.Rails의 하위 도메인 보안
웹 사이트의 배경 웹 사이트를 파란색으로 바꾸기 위해 <link HREF="http://www.example.com/blue.css" type="text/css">
을 응답 본문에 삽입하는 웹 프록시를 만들었습니다. 프록시는 랙 응용 프로그램으로 구현되고 Rack in Rails 3 Railscast에서 접근 방식을 사용하여 레일 노선의 내부에 배치되어
root :to => BlueProxy, :constraints => { :subdomain => "proxy" }
나는이 방법으로 보안에 대해 우려입니다. 내 응용 프로그램에서 쿠키의 도메인은 기본적으로 .example.com
이 될 것이라고 알고 있습니다. 사용자가 악성 URL을 입력하면 웹 사이트에서 사용자의 계정을 조작 할 수 있습니다. 응용 프로그램의 쿠키에 대해 www
하위 도메인 만 허용하여이 문제를 해결할 수 있습니다. 그러나 프록시가 프록시 사이트에도 쿠키를 저장할 수 있기를 바랍니다.
- 이 나쁜 방법입니다 : 여기 내 세 가지 질문입니까? 이 문제를 해결할 더 좋은 방법이 있습니까?
- Rails에서 형제 하위 도메인 쿠키를 분리하는 가장 좋은 방법은 무엇입니까?
- 누락 된 보안 문제가 있습니까?
이들은 모두 훌륭한 점입니다. 나는 프록시가 DMCA의 세이프 하버 조항에 포함되는 것으로 생각했습니다. 웹 사이트를 의도 한 용도로 사용할 때 콘텐츠를 수정 (예 : 배경을 파란색으로 바꾼다)하는 데 문제가 있는지 알고 있습니까? 2.이를 완화하기 위해 비 차단 이벤트 기반 서버를 사용할 수있는 방법이 있습니까? 그렇게하면 외부 서버에서 페이지를 제공하기 위해 대기하는 동안 들어오는 요청을 처리 할 수 있습니다. 3. iframe 콘텐츠와 브라우저 기록을 동기화하는 JavaScript 솔루션을 구현하려고했습니다. 4. 이것에 대한 좋은 자료를 가르쳐 주시겠습니까? – LandonSchropp
불행히도 브라우저 확장 또는 greasemonkey 스크립트는 내 프로젝트에서 실행 가능한 옵션이 아닙니다. 최신의 모든 브라우저와 가장 인기있는 모바일 장치에서 작동해야합니다. – LandonSchropp
개인적으로, 모든 현대 브라우저/어플 라이언 스에서 작동하는 것으로 개인적으로 우선 순위를 정했습니다.가장 쉬운 솔루션은 확장 기능입니다. MVP의 한 브라우저에서 제공하는 가치를 확인한 다음 최상의 경로 전달 방식이 여러 개의 확장/앱 또는 프록시 솔루션인지 결정하는 것이 어떻습니까? 다른 질문에 답하기 위해 법률 및 부하 영향을 완화 할 수 있지만 대역폭 및 비용 문제를 완화하려면 매우 창의적이어야하며 힘든 전투가 될 것입니다. 성공적인 확장 솔루션의 예를 보려면 LastPass를 살펴보십시오. –