2012-06-25 2 views
2

자바 스크립트를 사용하여 fire fox add-on을 만들었습니다. 이 부가 기능에 비밀번호 보호를 설정하고 싶습니다. 어디에서 사용자 암호를 영구적으로 저장할 수 있습니까? 어떻게해야합니까?자바 스크립트에서 비밀번호로 보호 된 애플리케이션을 만드는 방법은 무엇입니까?

+5

순수한 JavaScript를 사용하면 암호가 안전하지 않습니다. –

+3

쿠키를 사용하는 것 이상의 상태를 유지할 방법이 없다는 것이 확실합니다. 쿠키는 여러 가지 이유로 실용적인 옵션이 아닙니다. 어떻게/왜 보호하고 싶은지에 대해 좀 더 구체적으로 설명해 주시겠습니까? –

+0

@Derek : JavaScript에 대한 귀하의 의견은 완전히 사실이지만, 기계에서 실행될 애드온을 개발할 때는 절대적인 요구 사항이 아닐 수도 있습니다. 어쨌든 당신이 기계에 접근 할 수있는 경우에, 당신은 또한 Firefox에서 저장된 모든 암호를 볼 수있을 것이다. –

답변

0

가장 좋은 방법은 외부 저장 장치에 저장하는 것입니다. 웹 사이트처럼. 인증 데이터를 보내고 서버가 사용자를 확인한 다음 true 또는 false를 반환합니다. 이것에 약간 문제가있다. 등록되지 않은 사용자를 위해 추가 기능의 일부를 제한하려면 가능하지 않습니다. 전체 코드는 사용자가 사용할 수 있으며 수정할 수 있습니다.

당신이 웹 사이트를 만드는 경우 특정 추가/단일 사용자의 비밀, 예측할 수없는, 독특하고 균일 (쿠키 및 웹 사이트의 환경 설정에서 가장 가능성) 데이터를 검색합니다. 해시를 암호로 사용할 수 있습니다. 특정 웹 사이트의 사용자 이름과 함께. 이렇게하면 등록을 피할 수 있습니다.

서버 통신 트로프 HTTP도 안전하지 않습니다,하지만 헤이, 대부분의 웹 사이트는 여전히 그것을 사용할 수 있습니다.

외부 서버를 사용할 수없는 경우 SQLite와 같은 로컬 저장소를 사용하거나 preferences을 사용할 수있는 단일 암호가 있습니다. about : config에서도 사용할 수 있습니다. 그러나 이것들은 영구적 인 것이 아닙니다. 사용자가 운영 체제를 재설치 할 때까지 거기에 있습니다. 불행하게도 이는 매우 일반적입니다.

당신이 폐쇄 된 소스가 당신을 도울 수있는 그 XP-COM 구성 요소와 같은 저장 모드, 해시 생성 또는 뭔가를 숨길 수 있지만 (모든 플랫폼에서 모든 버전)을 유지하기 위해 정말 열심히이기 때문에하지 않는 것이 좋습니다하려는 경우

. 암호가 서버에 사용자를 인증해야하는 경우

0

당신은 그것을 저장하는 nsILoginManager를 사용해야합니다. 사용자가 마스터 암호를 정의하면 암호가 디스크에 암호화되어 저장됩니다. 확장 프로그램의 사용자 인터페이스를 사용자로부터 보호하려면 암호 저장 위치는 중요하지 않습니다. 이러한 종류의 보호는 경험이 부족한 사용자에게만 적용됩니다. 예 : Preferences을 사용하여 저장할 수 있습니다.

관련 문제