2013-11-04 6 views
0

안녕하세요, 사용자 이름과 비밀번호를 입력하라는 웹 사이트가 있습니다. 그런 다음 내 MySQL 데이터베이스에서 자격 증명이 올바른지 확인합니다. 지금은 그렇다면 사용자가 웹 사이트의 다른 부분에 액세스 할 수 있지만 정보를 내용대로 다시 입력하지 않아도됩니다. 기본적으로 웹 사이트에 로그인 된 상태로 유지하십시오.로그인 및 로그인 상태 유지

나는 이런 식으로 한 번도 해 본 적이 없으며 수업 프로젝트 요구 사항을 뛰어 넘으려고합니다. 어떻게해야할까요?

+2

어떨까요? –

답변

0

이 두 가지 가능한 해결 방법은 다음과 같습니다하지만 서로 다른 행동 :

1 :PHP sessions을 사용하는 것입니다. 세션 지원을 사용하면 $_SESSION 수퍼 글로벌 배열의 요청간에 데이터를 저장할 수 있습니다. 방문자가 사이트에 액세스하면 특정 세션 ID가 요청과 함께 전송되었는지 여부에 관계없이 PHP는 자동으로 session.auto_start가 1로 설정되었는지 또는 session_start()를 통해 명시 적으로 요청되었는지 (session_register()를 통해 암시 적으로) 확인합니다. 이 경우 이전에 저장 한 환경이 재생성됩니다.

session_start(); 
$_SESSION['loged_in']="yes"; 

을이를 사용하여 값을 검색 : 예를 들어, 사용자가이로 로그인하면 저장할 수

session_start(); 
if($_SESSION['loged_in']=="yes"){ echo "logged in!"; } 

2 :PHP Cookies입니다. PHP는 HTTP 쿠키를 투명하게 지원합니다. 쿠키는 원격 브라우저에 데이터를 저장하고 리턴 사용자를 추적하거나 식별하는 메커니즘입니다. setcookie() 또는 setrawcookie() 함수를 사용하여 쿠키를 설정할 수 있습니다. 쿠키는 HTTP 헤더의 일부이므로 모든 출력을 브라우저에 보내기 전에 setcookie()를 호출해야합니다. header()와 동일한 제한 사항입니다. 쿠키를 설정하거나 헤더를 보낼지 여부를 결정할 때까지 출력 버퍼링 기능을 사용하여 스크립트 출력을 지연시킬 수 있습니다.

쿠키는 로컬에 자격 증명을 저장하고 사용자가 동일한 웹 페이지에 다시 액세스 할 때마다 다시 사용할 수있게합니다. "로그인 유지" 체크 박스를 선택했을 때 로그인 정보를 저장하는 곳입니다. 브라우저가 닫히고 컴퓨터가 종료 되더라도 쿠키에 다시 액세스 할 수있는 방법은 세션과 다릅니다.

+0

@downvoter : 이유를 설명해주세요. –

0

  1. 세션 두 가지 방법이 있습니다
  2. 쿠키

당신이 세션을 사용하고, 다음 사용자가 그의 브라우저를 종료 한 후 매번 로그인해야합니다. 쿠키를 사용하면 여러 웹 사이트에서 '내 정보 기억'을 보았 음에 틀림 없으므로 로그인 정보를 사용자 컴퓨터에 로컬로 저장하고 사용자가 자동으로 로그인합니다. 두 옵션을 동시에 사용할 수 있으며 사용자의 재량에 따라 '나를 기억하십시오'옵션을 제공 할 수 있습니다.

쿠키와 관련된 보안 문제가 있습니다. (은행 웹 사이트에서 '나를 기억합니다'등을 볼 수 없으므로 기억할 수 있습니다. 사용자 이름).

또한 이러한 종류의 설정에서는 인증 된 사용자 만 액세스 할 수있는 모든 페이지에서 사용자 자격 증명을 확인해야합니다.

SQL 인젝션 방지 코드를 적절하게 코딩하지 않으면 매우 쉽고 로켓 과학도 아닌 것처럼 쓰십시오.

이런 종류의 설정으로 시작하려면 youtube 튜토리얼을 따르십시오. 그 중 톤이 있습니다. 튜토리얼에 대한 링크입니다 http://www.developphp.com/list_php_video.php#How_to_Build_a_Social_Network_Website 초보자를위한 튜토리얼입니다. 튜토리얼 1-9는 당신의 목적을 해결할 것입니다. 전문가가되면 자신 만의 고유 한 코드를 작성할 수 있습니다. 이 자습서는 학습 및 인식에 대한 설계 이후에 설계하려는 종류의 시스템의 기본 사항을 이해하는 데 도움이됩니다. 그렇다면 하늘은 한계 다.

관련 문제