2017-12-15 48 views
0

내 웹 사이트에 대한 로그인 시스템을 만들고 있습니다. localStorage를 사용하여 등록 및 로그인 작업을 관리합니다 (따라서 각 계정의 배열에 목적지를 저장합니다)사용자 입력 값이 localStorage JSON Object에 이미 있는지 확인하십시오.

그러나 사용자 이름을 잘못 입력하거나 잘못 입력하면 오류가 표시되기를 원합니다. 하나는 localStorage에 없습니다.]

내가, 여기에 패스워드 검사에 대한 코드 입력 한 사용자 이름이 정확하면, 암호를 이렇게 관리 :

else if (passwordLogin !== parse.password) { 
    message.innerHTML = "Incorrect account information!"; 
    return; 
} 

^passwordLogin이 어디 그들이 암호 필드에 입력하고 파싱 그래서 사용자 이름에 대한 로컬 스토리지를 파싱하는 기능이다 JSON.parse은 (로컬 스토리지는 [usernameLogin] - usernameLogin은 자명 필드 그들이 입력된다

,617,

지금 사용자 이름에 대해 동일한 작업을 수행하려고합니다. 이것은 지금까지 내 최고의 코드 :

if (localStorage[usernameLogin] === undefined) { 
    message.innerHTML = "No such ninja username exists!"; 
} 

그래서 usernameLogin 사용자 이름 필드에 무엇을 입력합니다. localStorage에서 입력 내용을 확인하고 이 정의되지 않았 으면인지 확인하십시오. localStorage에서 각 계정의 키는 사용자 이름이며 은 { "username": "Jordan", "password": "asd"}와 같은 모든 세부 정보가 포함 된 배열입니다. 일반 조던]

이 사용자 이름을 확인하고 통과 검사는 if 및 else if 루프에 있습니다. 암호 확인에 대한 코드를 제외한 아무것도하지 않습니다 (사용자 이름 검사)는 다른 사람에 작동하는 경우 경우

은 아마

=== undefined 

은 (사용자 이름 만 입력하면 작동 존재하고 암호가 일치하지 않음) 부정확하다. 어떤 생각 부탁드립니다 :)

+2

localStorage에서 사용자 이름 및 암호와 같은 기밀 세부 정보를 저장하는 것이 큰 보안 결함이라는 것을 알고 있습니까? – RahulB

+0

'localStorage.getItem (usernameLogin)'은 사용자 이름을 얻고, 존재하지 않으면'null'을 반환합니다. 그래서 당신의 수표는'if (! localStorage.getItem (usernameLogin))' –

+0

@RahulB와 동의합니다. 이것이 웹 사이트의 주요 보안 결함을 디자인하는 방법입니다. 사용자가 localStorage를 포함한 인터넷 사용 기록을 지우면 사용자가 더 이상 저장되지 않으며 다시 등록해야합니다. –

답변

-1

if (localStorage[usernameLogin] === undefined) { 
    message.innerHTML = "No such ninja username exists!";  
} 

if (!localStorage.getItem(usernameLogin)) { 
    message.innerHTML = "No such ninja username exists!";  
} 

또는

usernameLogin 변수가 문자열을 보유하고 있는지 확인하십시오.

0

undefinedempty condtions을 확인하는 것으로 충분할 수 있습니다.

localStorage.hasOwnProperty('usernameLogin') && 
typeof localStorage.usernameLogin !== 'undefined' && 
localStorage.usernameLogin !== '' 

값을 구문 분석 한 후 값을 확인하면서 조건을 추가 할 수 있습니다.

typeof JSON.parse(localStorage.usernameLogin) === 'object' && 
typeof JSON.parse(localStorage.usernameLogin).password === 'string' 
JSON.parse(localStorage.usernameLogin).password === 'yourpassword'