2017-10-01 10 views
2

영구 사용자 데이터를 localStorage에 저장하는 웹 앱을 만들었습니다. 내 사이트에서 HTTPS를 사용하도록 설정 했으므로 HSTS에서 스위치를 반전하고 싶습니다. 그러나 내가 알 수있는 한 localStoragehttp://example.comhttps://example.com이 다른 것으로 간주하므로 기존 사용자가 내 사이트의 HTTPS 버전으로 리디렉션되는 경우 더 이상 데이터에 액세스 할 수 없지만 여전히 존재합니다.localStorage 데이터를 HTTP에서 HTTPS로 이전

장기적으로, 데이터 저장을위한 더 많은 옵션을 제공하는이 앱의 새로운 버전을 만들고 싶습니다. 그러나 단기간에 내가 생각할 수있는 모든 것은 http 버전의 사용자가 두 버전에서 액세스 할 수있는 다른 (알 수없는) 메커니즘을 통해 데이터를 마이그레이션하도록 요청되는 전환기를 갖는 것입니다.

내 선택 사항에 대한 공정한 평가입니까? https://example.comlocalStoragehttp://example.com에 액세스 할 수있는 방법이 있습니까? 그렇지 않다면 두 버전 모두 액세스 할 수 있지만 다른 사이트는 액세스 할 수 없도록 사용자 데이터를 저장할 수 있습니까? 또는 데이터를 다운로드하여 다시 업로드하도록 요청해야합니까? 그것은 UX 또는 (사용자) 보안 관점에서 이상적이지 않습니다.

이 웹 응용 프로그램은 서버와 전혀 상호 작용하지 않습니다. 모든 것은 localStorage과 클라이언트에서 발생합니다.

답변

1

https 사이트에서 덜 안전한 http 복사본에 대한 localStorage 콘텐츠를 직접 검색하는 방법은없는 것처럼 보입니다. reference

내가 보았던 해결 방법은 this answer과 비슷한 안전하지 않은 사이트에 특별한 페이지를로드하는 iframe을 사용하는 것입니다. 일반적인 이론은 localStorage 데이터와 함께 postMessage을 사용하여 메시지를 보안 페이지로 보내는 iframe에 코드를 저장하는 것입니다.

불행히도이 방법을 사용하면 http을 완전히 사용하지 않도록 설정할 수 있습니다. 그렇지 않으면 iframe 처리 된 HTTP 복사본이로드되지 않기 때문입니다.

+0

음, 그래. HSTS를 잠시 중단하고 HTTP 사용자의 일반적인 인터페이스를 숨기고 HTTPS 스토리지를이 방식으로 채우는 버튼을 '책갈피 업데이트'거래와 함께 이전하기 전에 볼 수 있습니다. 감사! – rensa

+0

@rensa 멋진, 그것이 당신을 위해 일하기를 바랍니다. – Mobius