(웹사이트)로그인 자바스크립트로 확인(체크) 하는지 여부를 알 수 있나요?
문제는 자바스크립트로 로그인 하면 보안상 안좋다고 들었어요.
[단독] 자바스크립트 암호화 뚫려...국내 주요 포털·은행·쇼핑몰·대학 등 위험
http://www.dailysecu.com/news_view.php?article_id=6754
로그인 여부를 체크하는 일은 반드시 서버에서 하기
로그인 여부를 체크하고 로그인하지 않았으면 해당 페이지를 접근하지 못하도록 하는 일은 웹 서버에서 해야할 일입니다. 클라이언트(웹 브라우저)는 사용자가 페이지에 접근할 자격이 있는지, 서버가 판단한 결과만을 받아야 합니다. 이런 작업을 웹 페이지 상에서 자바 스크립트를 사용하여 처리하는 경우가 있는데, 이는 사용자 정보를 다른 이들이 볼 수 있게 노출하게 되는 결과를 낳을 수 있습니다. 이는 HTML 페이지의 자바 스크립트 코드가 클라이언트, 다시 말해 사용자의 웹 브라우저에서 실행되기 때문입니다. 예를 들어 보겠습니다.
[phone_numbers.html]
<script> if (IsUserLoggedIn()) { alert("로그인하세요."); window.location = "/login.html"; } </script> <body> 회원 목록 및 전화번호 ... </body>
이것은 phone_numbers.html라는, 한 동호회의 회원 목록과 전화번호를 볼 수 있는 HTML 페이지의 일부분입니다. 페이지가 열릴 때 IsUserLoggedIn()라는 함수를 통하여 사용자가 로그인하였는지 확인하고, 로그인하였으면 페이지의 내용를 보여주고, 그렇지 않으면 login.html로 바로 이동하여 사용자의 로그인을 유도하게 되어있습니다. 하지만 만약 웹 브라우저의 자바 스크립트를 끄고 보거나, phone_numbers.html의 소스를 본다면 어떨까요? 이 목록이 고스란히 드러날 것입니다. 검색 로봇 또한 자바 스크립트를 실행하지 않는 클라이언트이므로 마찬가지로 이 목록을 그대로 수집하고, 검색 가능케 합니다.
무척 단순한 예시이기는 하나, 사용자의 로그인 여부를 확인하는 일과 같이 서버가 해야 할 작업은 반드시 서버에서 해야 하는 이유를 극명하게 보여줍니다.
출처 : 더 나은 웹
http://www.betterweb.or.kr/open-web/security-guide/#i-2
자바스크립트로 로그인 여부 체크 과정을 클라이언트에서 확인하나요? 아니면 서버에서도 확인을 할 수도 있나요?
자바스크립트 끄고 계정과 비밀번호 입력 한 뒤에 로그인이 안되면, 자바스크립트로 로그인 처리를 하는거 맞나요?
댓글 달기