2010-12-18 8 views
1

누군가 나를 도울 수 있다면 여기에 몇 가지 질문이 있습니다. 첫째로, 나는 나의 응용 프로그램 사용자를위한 로그인 시스템을 만드는 과정에있다. 나는 공유 호스팅 (dreamhost)을 사용하고 있는데 사용자가 로그인하고 성공한 후 사용자가 페이지에 로그인했는지 어떻게 확인할 수 있습니까? 나는 세션 변수를 사용한다고 가정하고 있지만, 사용자 이름은 특정 목적을 위해 저장되어야합니다. 세션 변수에 사용자의 이름을 저장하는 것이 안전하며 기본적으로 사용자가 로그인 한 경우 세션 변수에 안전하게 저장됩니다. 예 : $ _SESSION [ 'logged'] = 1; 또는 무엇이든. 또한 공유 호스팅을 사용하고 있기 때문에 누구나 내 세션 데이터에 액세스 할 수 있다는 것을 읽었으며 변경해야합니까? 아니면 그냥 세션 변수 이외의 다른 것을 모두 사용해야합니까?누군가를 로깅 할 때 세션 변수를 안전하게 설정하는 방법은 무엇입니까?

+2

CURL을 사용하는 것이 더 안전 할 것인가? , – mcbeav

+0

확실히, CURL 내가 컬에 너무 많은 문서를 찾을 수 없습니다 –

+0

방법이 더 안전 할 것이다 사용하는,하지만 난했다고 생각합니다 충분히 soemthing 작성하려면 발견하지만, 컬 기능이 완료되어 및 후 내 질문은, everythign이 확인되어 ($ _ SESSION [ 'logged']) {다른 내용보기} else {VIEW RESTRICTED CONTENT}와 같은 세션 변수를 어떻게 사용할 수 있습니까? – mcbeav

답변

3

는 기본 세션 스토리지 구성은 아마 당신의 공유 호스팅에있는 모든 사용자가 공유 위치를 사용합니다. 이를 확인하려면, phpinfo의 출력에서 ​​특히 session.save_pathsession.save_handler 좀 봐. 이 설정은 PHP session configuration documentation에 설명되어 있습니다. 시스템 사용자에 반대

귀하의 공유 호스팅, 사용자로 PHP 프로세스를 실행할 수 있습니다. 이 경우 session.save_path을 자신이 소유 한 홈 디렉토리의 디렉토리로 변경할 수 있으며 다른 사용자가 해당 디렉토리 (예 : 700)를 읽을 수 없도록하는 권한을가집니다.

공유 호스팅이 실행되는 시스템 사용자로, 당신은 기본적으로 해당 파일을 저장할 수있는 안전한 방법을 얻을 수없는 경우. session_set_save_handler으로 설정하는 대신 데이터베이스 기반 세션 저장 옵션을 사용할 수 있습니다. 다른 사용자가 구성 설정을 읽지 못하게 할 수 있는지는 잘 모르겠습니다.

관련 문제