2016-11-25 1 views
0

저는 PHP를 처음 사용하기 때문에 내가 찾고있는 답변을 찾지 못한 채 다른 기사를 읽었지만, 내가하고 싶은 것이 의미가 있는지 알지 못합니다. 나는 PHP 7.PHP 쿠키를 사용하여 동일한 브라우저에서 여러 세션을 관리하는 방법은 무엇입니까?

내 사용자 인증 페이지, 수표 자격 증명을 사용하여 다음 브라우저에서 세션 서버 측 및 쿠키 클라이언트 측을 작성, session_start()을 실행하고있어

.

웹 응용 프로그램의 각 다른 페이지는 session_start()을 호출하여 세션 정보를 다시 시작합니다.이 경우 쿠키를 확인합니다. 지금까지 모든 것이 잘 작동합니다 ... 최소한 단일 로그인이있을 때.

동일한 브라우저 (예 : , 다른 탭의 경우)에 동시에 두 명 이상의 사용자가 로그인 할 수있게하고 싶습니다. 쿠키를 사용하고 있습니다. URL에 세션 ID를 추가하고 싶지 않습니다.

session_id()을 사용하여 서버 측에서 다른 세션을 생성 할 때 사용자 이름에 기반한 인증 페이지에 session_start()이 있지만 클라이언트 측에 문제가 있습니다.

첫 번째 로그인 (session_start())은 쿠키를 만들고 두 번째 로그인은 이전에 만든 세션을 손상시키는 동일한 쿠키를 업데이트합니다.

따라서 세션을 다시 시작할 때 session_start()은 세션 정보를 기반으로 DB에서 가져온 데이터를 혼합하여 마지막 세션 만 다시 시작합니다.

session_start()은 로그인 할 때마다 쿠키를 만들고 쿠키를 사용하여 PHP가 올바른 세션을 다시 시작하게 할 수 있습니까?

아이디어가 있으십니까?

추가 세부 정보 : 일부 보안 문제를 해결하려고하는 기존 앱을 업데이트하고 있습니다. 여러 세션의 필요성은 관리자가 동일한 사이트에 액세스하는 관리 목적에서 비롯됩니다. 세션을 분리해야하는 이유는 세션 정보에 따라 다른 데이터베이스에서 데이터를 가져 오는 것입니다. 따라서 정기적 인 사용은 사용자 당 하나의 세션 만 필요하지만 관리자는 해당 로그인에 따라 여러 로그인을 여러 데이터로 표시해야합니다.

+0

이게 도움이 될 것 같아요. http://stackoverflow.com/questions/24964699/php-how-can-i-create-multiple-sessions – user3099298

+0

가능한 복수의 [PHP 세션] (http://stackoverflow.com/questions/854105/multiple-php-sessions) –

+0

개발 중에 이것을 사용 하시겠습니까? 아니면 최종 사용자와 완성 된 사이트를위한 것입니까? –

답변

0

동일한 세션을 사용하지만 당신이 찾고있는 변수 이름을 변경할 수 있습니다

if ($_SERVER['REQUEST_URI'] == '/admin/'): 
    $session_name = 'session1'; 
else: 
    $session_name = 'session2'; 
endif; 
session_start($session_name); 
0

기본 PHP 동작 쿠키를 사용하여 세션을 처리 할 수 ​​입니다.

  • 간단한 방법은 아마이다 : 아래에 언급 된 것처럼

    .. 그리고 브라우저의 기본 동작은 .. 다른 탭의 URL을 방문하면 쿠키의 동일한 세트를 "재사용"하는 것입니다 그래서 다른 브라우저를 시작하십시오. 브라우저가 여러 개 설치되어있는 경우 과 동일하게 브라우저가 아니라 Firefox와 Chrome을 좋아합니다.

  • 또 다른 방법은 Chrome 용 Sessionbox 또는 Firefox 용 Multifox와 같은 브라우저 플러그인을 설치하는 것입니다.선명도

편집 : 여러 세션이 사용되는 때 두 가지 경우를 생각할 수 : 개발 중에

  • . 응용 프로그램에 따라 다르지만 명백한 경우는 두 사용자 간의 통신을 테스트하는 것입니다.
  • 배포 후. 동일한 사용자 계정에 대해 여러 번 로그인해야하는 사이트를 본 적이 없지만.

이것은 참조 정보입니다. 이것을 바탕으로 나는 그 문제가 개발을위한 것이라고 생각했다. 사이트에 추가 패키지를 설치해야한다고 제안하는 것은 아닙니다. 플래시는 그걸로 빼앗긴 유일한 것입니다.

+0

그래서 프로그램 사용자가 두 번째 브라우저 또는 플러그인을 설치하도록 제안 하시겠습니까 ??? 니스 ... – Auris

+0

@Auris 가능성이 오해에 대한 총 면책 조항. 나는 이것이 개발 과정에서 그에게 사용 된 것이라고 생각했다. 물론 최종 사용자는 사이트를 사용하기 위해 물건을 설치하면 안됩니다 (예외 : 플래시?)하지만 일반 사용자가 여러 번 로그인해야하는 사이트를 본 적이 없습니다 .. –

+0

별도의 세션을 사용하면 여러 세션을 수행 할 수 있습니다 쿠키 (동일한 사이트에서도). 그리고 그의 질문에 관해서, 나는 그가 그걸 만드는 방법에 대해 묻고 있다고 생각합니다. – Auris

관련 문제