2012-12-21 1 views
0

현재 두 개의 개별 응용 프로그램이 있습니다.클라이언트와 서버, 사용자가 로그인 할 때 어떻게 유효성을 검사해야합니까?

하나는 * user_client *이고 다른 하나는 서버입니다.

user_client는 대부분 "마크 업"입니다 (HTML). 이 응용 프로그램은 서버에 요청을 보내고 응답을 수신합니다. 그게 다야.

한편

, 서버는 컨트롤러이 데이터를 클라이언트에 의해 throw 요청 프로세스를 수신하고 응답을 다시 전송하는 CodeIgniter 설치입니다.

하지만 나는 사용자의 유효성을 검사하는 방법과 세션을 저장할 위치에 대해 혼란스러워합니다.

문제는 이제 user_client에 로그인 양식이 있고 Ajax 호출을 서버에 설정하도록 설정되었습니다. 같은

뭔가 :

지금까지 수행 I가 사용자를 확인하고 세션을 저장하는 서버에 Ajax 호출에 의해 전송 된 데이터를 사용한다는 것입니다 무엇을
success : server_path + 'login', 

.

내가 제대로하고 있습니까? 세션을 저장하면 서버의 세션입니다. user_client가 아닙니다.

사용자가 로그인되어 있는지 어떻게 확인합니까? 다음과 같은 일을 여전히 할 수 있습니까?

if (isset($_SESSION['whatever'])) 

세션에 대해 나는 무엇을 놓치고 있습니까? 세션에 대한 나의 오해는 무엇입니까?

+0

세션을 사용하는 경우 클라이언트는 쿠키를 사용해야합니다. 다른 방법은 서버에서 "임의의 문자열"인 "토큰"을 생성하고이를 서버 데이터베이스에 저장하는 것입니다. 숨겨진 양식 필드 나 URL 문자열에서 토큰을 클라이언트로 전달한 다음 폼을 제출하거나 링크를 클릭하면 토큰이 다시 전달됩니다. – cartalot

답변

1

세션 (단순화)은 서버가 특정 사용자를 페이지 요청 전체에서 추적하는 방법 일뿐입니다. CI 세션은 세션 ID를 저장하는 클라이언트 브라우저에 쿠키를 생성하여 사용자를 추적합니다. 세션 ID (설정된 경우)는 데이터베이스의 "ci_sessions"(기본 이름) 테이블에 저장됩니다. 모든 세션 데이터가 저장됩니다.

권장하는 방법대로하면 인증을 서버에 전달할 때 보안 연결을 사용해야합니다.

관련 문제