2011-07-27 4 views
1

나는 get a value into the log file from PHP에 대한 설명을 보았습니다. 그러나 이것은 임의의 환경 변수를 설정하고 로그 구성 문자열로 대체함으로써 효과적으로 작동합니다.PHP 세션에서 아파치 로그 파일에 원격 사용자 배치하기

실제로 나는 % u에서 참조하는 값을 log config string에서 제어하고 싶습니다. 이것이 가능할 수있는 유일한 방법은 값이 Apache의 인증 모듈에 의해 반환되는 것입니다.

선택할 수있는 mod_auth 모듈이 없습니다.하지만 대부분의 경우 자체 세션 관리 (예 : 자체 쿠키 생성 및 고유 한 사용자 이름 세션 조회 유지)를 구현하는 것으로 보입니다.

  1. 나 사용자 이름
  2. 을 포함하는 PHP 세션에서 임의/구성라는 이름의 변수를 검색 할 수있는 세션 쿠키 이름
  3. 을 지정할 수 있습니다 것입니다 : 이상적인 세계에서는

    , 나는 모듈을 원하는 것
  4. 적절한 구성 로그인 URL
로 사용자를 리디렉션 할 null 이외의 세션 ID/이름 조합 캐시 것

나는 C 프로그래밍에서 무조건해야했기 때문에 불행히도 https://modules.apache.org의 많은 링크가 죽었다 (mod_auth_any, mod_auth_cookie_dbm). 그래서 내가 이해할 필요가있는 것에 가깝게 뭔가를 찾는 데 어려움을 겪고있다. API/내가 상자에서 사용할 수있는 것을 찾아라.

필자가 필요로하는 것 또는 필자의 요구 사항과 잘 어울리는 잘 작성된 모듈에 대한 제안이 있습니까?

TIA

C.

답변

1

당신은 mod_auth_external을 확인해야합니다.

위키와 같은 유용한 정보가 많이 포함되어

쿠키를 사용하지만 수 :

그것은 불가능합니다 인증 모듈에서 쿠키를 설정하는 방법

인증 캐시가 없습니다 (mod_authz_ldap에만 서버 측 캐시가 있음).

PHP 세션 초기화 (쿠키 세트), 로그인 페이지, 재시도 페이지 및 로그인 succes (세션 ID 재생성 포함)를 별도의 응용 프로그램에서 처리해야 할 필요가 있다고 생각합니다. CAS 나 Radius 서버와 같은 SSO 솔루션처럼 두 번째 가상 호스트를 사용하십시오. 그런 다음 mod_auth_external을 사용하여 주어진 쿠키 내용을 검사하거나 사용자를 해당 로그인 응용 프로그램으로 리디렉션하십시오.mod_auth_external 인증 기에서 서버 측에서 유효한 세션 (쿠키 내용을 신뢰하지 않음)을 제어해야합니다 (데이터베이스에서 직접 또는이 두 번째 응용 프로그램과의 통신을 통해).하지만 빠르게 실행되는 것을 찾아야합니다. 요청 된 모든 객체에서 수행됩니다. 또는 쿠키 내용을 로깅 용도로만 사용하지만 실제 PHP 응용 프로그램에서는 신뢰하지 않고 세션이 실제 응용 프로그램 PHP 측에서 유효한지 확인하십시오.

+0

감사합니다. "인증 모듈에서 가능하지 않습니다"- 어디에서 가져 왔습니까? 그것은 mod_auth_external에 특정한가요? 여러 인증 모듈이 쿠키를 사용한다고 주장합니다. mod_auth_cookie_mysql2, TIA – symcbean

+0

이것은 HowTo 파트 5의 mod_auth_external 문서에 있습니다. – regilero

+0

아, 고마워. 그것은 단지 사용자 이름과 패스워드와 일치하는 백엔드에 대한 인터페이스를 제공하는 모듈로 보인다. 그리고 각 요청 (캐싱 없음, 데몬 지원 없음)을위한 프로그램의 새로운 인스턴스를 호출하여 매우 무거운 리소스가 될 것이다. 이후로 내 요구 사항에 가까운 것으로 보이는 http://authmemcookie.sourceforge.net/을 발견했습니다. – symcbean

관련 문제