필자는 웹 애플리케이션에서 사용자를 인증하기 위해 AuthComponent와 함께 cakephp 2를 사용하고 있습니다. 사용자가 매우 오랜 시간 동안 자동으로 로그 아웃되지 않도록하는 것이 중요합니다 (최소 24 시간 이상 또는 무한히 최선). 그 이유는 우리가 cakephp webapp에 암호를 입력하지 않고 현재 로그인 한 사용자가 몇 초 내에 사용할 수 있어야하는 많은 것들을 저장하기 때문입니다. 이러한 이유로 이미 low
에 Security.level
을 설정하고 또한 어떤 그가 로그 아웃되기 전에 좋은 이일 사용자에게 제공한다고 자동 로그 아웃 금지 cakephp
Configure::write('Session.timeout', 3000);
을 구현했습니다. 그러나 사용자가 이미 동일한 분 내에 활성화되어 있어도 때때로 로그 아웃됩니다. 나는 그것이 일어나는 때와 그것을 재현하는 방법을 정말로 모른다. 그러나 내가 무언가를 놓쳤을 지 궁금했고 다른 전략이 나의 문제를 해결하는 데 도움이 될지 궁금했다.
웹 서버로서 저는 특별한 설정 변경없이 우분투 12.04에서 표준 아파치를 사용하고 있습니다!
, 나는 매우 좋아 1 개월 세션입니다 표준 cakephp AuthComponent로 구현하기가 어려울 것입니다. 두 가지 질문 : 해시는 얼마나 오래 있어야합니까?왜 새로운 세션이 생성되면 재생성해야합니까? – schneida
길이가 문제가되지 않으며 유일성과 해시를 위조하는 것이 가장 중요합니다. 'md5 ($ userid)'는 좋지 않습니다. 해시를 예측 가능하게 만듭니다. 'md5 (microtime()) '와 같은 것이 잘 작동 할 수도 있습니다. 쿠키는 클라이언트에 저장되므로 제 3자가 잠재적으로 읽을 수 있습니다. 사용자의 해시를 가져 와서 사용자 이름이나 비밀번호가 필요없이 로그인 할 수 있습니다. 해시가 재생성되어 한 번만 사용하도록 허용되면 영구 세션이있는 보안 노출이 줄어 듭니다. – datasage
Mhm이므로 나쁜 사용자가 쿠키를 브라우저로 복사하면 시스템에 로그인 할 수있게되고 쿠키가 재생성되므로 쿠키가 이제는 유효하지 않으므로 정품 사용자는 로그 아웃됩니다. 잘 나는 그것이 나를 위해 충분하다라고 생각한다! 고마워! – schneida