phpsource/회원인증2000. 10. 10. 15:02
회원인증
요즘 새로이 나타나고 있는 웹사이트들을 살펴보면 회원만이 이용할 수 있는 곳이 부쩍 늘어나고 있습니다. 회원전용 BBS, 회원제 교육 프로그램 및 회원제 쇼핑몰 등이 거의 모두 회원제로 운영되고 있습니다. 이러한 회원 전용 웹사이트를 개발하기 위해서는 일반 웹사이트에서는 볼 수 없는 로그인을 통해 회원 인증(또는 사용자 인증)이라는 단계를 거쳐야 원하는 서비스를 제공받을 수 있습니다. 이 외에도 회원전용 웹사이트만이 고려해야 할 것이 상당히 많이 있습니다. 그러나 이러한 회원전용 웹사이트를 개발하는데 필요한 정보를 찾으려면 대부분 단편적인 것을 얻을 수는 있으나 이를 종합적으로 정리되어 있는 곳은 찾기 힘든게 현실인 것 같습니다. 따라서 새로이 회원전용 웹사이트를 개발하려는 개발자에게 다소나마 도움이 되고자 회원인증에 대한 자료를 정리해 보았습니다. 여기에 있는 내용은 새로운 내용이라기 보다는 대부분이 기존에 PHP 관련 정보를 제공하고 있는 웹사이트나 관련 서적에 있는 내용을 정리한 것이라 혹시 저작권과 관련된 문제가 발생할까 다소 염려스러우나 이러한 부분이 있다면 저한테 연락을 주시면 수정 또는 삭제하도록 하겠으니 해당 저작자 분들은 넓은 아량으로 이해하여 주시기 바랍니다.
인증이란?
인증은 방문자의 신원을 확인하는 것을 뜻하는 것으로 보안의 수단으로 사용되고 있습니다. 즉, 허가되지 않은 방문자가 부당하게 접근하는 것을 방어하기 위하여 사용되는 접근 제어 수단의 하나로 방문자가 웹사이트 이용 가능 목록(사용자가 등록되어 있는 데이터베이스)에 등록되어 있는 등록자와 같은 사람인지 판단하는 과정을 말합니다. 이를 Identification이라고도 합니다. 이러한 인증은 보통 전자상거래에서 본인의 여부를 확인할 때 사용하는 것으로 사용자 ID와 비밀번호를 통해 확인합니다. 이와 같이 웹사이트에 접근하는 방문자가 정당한 방문자임을 확인하는 것을 사용자 인증이라고 합니다. 본 문서는 회원전용 웹사이트를 개발할 때의 고려해야 할 인증 만을 대상으로 하겠으며 따라서 이러한 회원전용 웹사이트에서의 사용자 인증을 회원 인증이라고 부르겠습니다.
회원 인증 과정
회원전용 웹사이트로 처음 들어오는 새로운 방문자들은 우선 회원가입 프로그램을 통하여 자신을 회원 데이터베이스(회원 정보 테이블)에 신규 등록한 후 자신을 인증할 수 있도록 하며, 기존에 이미 회원으로 가입했던 방문자들은 단지 회원ID와 비밀번호 만을 입력하여 자신을 인증하게 됩니다. 인증이 성공적으로 이루어지면 그 방문자는 회원전용 웹사이트에서 제공하는 모든 서비스를 받습니다. 이러한 로그인 과정을 거쳐서 회원 인증을 받게 됩니다.
< 회원 인증 과정 >
회원인증ID
회원인증ID는 회원전용 페이지에 접근하기 위해 회원임을 증명하는 식별자(ID)이며, 이 인증ID는 로그인에 성공하게 되면 발급받게 됩니다. 로그인에 성공한 후부터 로그아웃할 때까지를 특정 세션이라고 한다면 회원인증ID는 이 특정 세션에서만 통용되는 식별자라고 할 수 있습니다. 일단 로그인 과정을 통해 회원인증ID를 발급받게 되면 이 인증ID에 의해 회원전용 웹페이지에서 제공하는 모든 서비스를 받을 수 있게 됩니다. 방문자가 더 이상 회원 서비스 받기를 원치 않으면 로그아웃할 것이고, 로그아웃 과정에서 회원인증ID가 삭제될 것 입니다.
회원 데이터베이스(회원 정보 테이블)
웹사이트를 회원제로 운영하기 위해서는 회원에 대한 정보가 필요하며 이러한 회원정보는 데이터베이스를 이용하여 회원정보테이블을 구성하게 됩니다. 회원 정보 테이블에 기록되는 회원 정보는 보통 회원 가입을 통하여 얻게 됩니다. 회원에 가입한 방문자는 향후 회원 전용 서비스를 받기 위해서는 회원 ID와 비밀번호만을 입력하여 입력된 정보와 회원 정보 테이블에 있는 정보를 비교하여 정식 회원임을 인증받게 되는 것입니다. 회원 인증을 하기 위해서는 이와 같이 회원 정보 테이블이 꼭 필요하게 되며, 이러한 회원 정보 테이블은 보통 MySQL과 같은 관계형 데이터베이스를 이용하게 되며, 이 테이터베이스에 회원 정보 테이블을 생성한 후 회원 정보를 등록, 수정, 삭제 및 확인하게 됩니다. 웹기반에서 회원관리를 하신다면 웹서버의 Real 계정으로 관리할 수 있겠지만 대부분의 방문자는 서버상에 계정이 없으므로 이러한 개인 사용자의 경우에는 회원 정보 테이블의 가상 계정(회원 ID)을 통하여 회원 인증을 하는 것이 보통입니다.

Posted by 방글24