2017-02-09 1 views
0

abc.com에서 호스팅되는 웹 페이지에 xyz.com이라는 호스트가있는 JS를 삽입하면 xyz.com/test.js가 abc.com에 설정된 모든 키 - 값을 읽고 쓸 수있는 것 같았습니다. 거대한 보안 구멍으로 간주되지 않습니까? 사이트에서 Google 애널리틱스와 같은 제 3 자 JS를 사용할 계획이라면 localstorage에 사용자의 중요한 정보를 저장하지 말아야합니까? 여기 타사 JS가 자사의 localstorage에 액세스 할 수 있습니까?

은 예입니다 - window.Test가

+0

예, 페이지에로드 된 모든 JS는 페이지의 도메인에서 쿠키 및 localStorage에 액세스 할 수 있습니다. 이것이 중요한 데이터를 브라우저에 저장하지 않아야하는 이유 중 하나입니다. 반드시 서버 측에서 암호화하고 서버 측에서 해독해야합니다. 프랑스에는 사용자의 동의없이 데이터를 로컬에 저장하는 것을 금지하고 사용자 전자 메일, 암호 등의 암호화되지 않은 중요한 데이터를 저장하는 법이 있습니다. – blex

+0

흥미 롭습니다. 브라우저가이 보안 허점을 허용하는 이유는 무엇이며, 쿠키는 이와 동일한 디자인 결함을 겪지 않습니다. –

+0

_ "쿠키는이 같은 설계상의 결함이 없습니다"_? https://jsfiddle.net/scwo1ba9/ – blex

답변

2

이 사이트는 사용자 민감한 정보를 저장하지하는 것이 좋습니다 JS 타사에 선언 https://jsfiddle.net/kuldeepk/eqawezd6/1/

localStorage.setItem('first-party', 'first-party'); 
window.Test.setKeyValue('third-party', 'third-party') 
console.log(window.Test.getKey('first-party')) 
console.log(localStorage.getItem('third-party')); 

지옥 없음, 사용하지 않고 사용중인 타사 JS

js 또는 html의 모든 내용은 로컬 저장소 또는 프런트 엔드의 다른 위치에 관계없이 사이트를 방문하는 모든 사용자가 읽을 수 있습니다.

F12을 누르기 만하면 전체 프런트 엔드 소스 코드를 볼 수 있습니다.

+0

예 그 부분을 이해합니다. 내가 정확히 사용자 이름/비밀 번호 종류의 물건을 언급하지만, 심지어 일반적인 응용 프로그램 관련 데이터,이 데이터가 제 1자를 알지 않고 타사 js에 의해 변조 될 수있는 것 같지 않아. 쿠키가있는 경우에는 해당되지 않습니다. 나는이 전체 루프 구멍에 의해 당황 스럽다. –

+0

쿠키도 읽을 수있다. @KuldeepKapade. 질문 아래 blex '바이올린을 클릭하십시오. – baao

+0

이 예에서 쿠키는 동일한 도메인에 설정됩니다. abc.com에 설정된 쿠키는 xyz.com에서 읽을 수 없습니다. –

관련 문제