나는 '기억 해요'가 포함 된 로그인 양식을 코딩하는 중이며, 지금까지 읽은 자습서 (부분적으로는 내가 올바르게하고 있는지 확인하기 위해)는 암호화 된 암호를 사용자 이름과 함께 쿠키. 그런 다음 PHP가 현재 사용자가 로그인하지 않았는지 확인 할 때마다 쿠키를 확인하고 그 값을 찾습니다. 사용자 이름이 암호와 일치하면, 안으로 들어갑니다.PHP "Remember Me"보안 결함이 있습니까?
저에게 이것은 거친 보안 구멍입니다. 누군가 데이터베이스를 해킹하거나 암호화 된 암호에 액세스하는 경우 암호를 해독 할 필요조차 없습니다. 너의 자신의 과자를 놓고가 거라. 나는 올바른가, 아니면 단지 편집증인가?
내 로그인 시스템은 현재 사용자 ID를 추적하기 위해 세션을 사용하고 빠른 로그인/로그 아웃 확인을 위해 1/0을 사용합니다. 사용자가 AFAIK 세션을 편집 할 수 없으므로 안전합니다 (그렇지 않은 경우 알려주세요). 세션 ID를 쿠키에 저장하고 나중에 다시 시작하려고 생각했지만 안전하지 않습니다.
사용자의 보안이 중요합니다. 제대로 작동하는 웹 사이트를 유지하면서 정보를 적절히 보호하려면 어떻게해야합니까?
암호화 된 암호를 저장하지 않고 단지 X 일 후에 만료되는 쿠키에 user_ID 만 저장합니다. "민감한"영역 (예 : 계정/프로필 관리)의 경우 유효한 $ _SESSION (로그인 할 때 설정해야하는)이없는 경우 로그인을 요구할 수 있습니다. – JennyDanger
쿠키에 저장하는 것이 "안전하지 않은"경우 세션 ID를 어떻게 저장합니까? –
@georgefox 현재, 세션 ID는 아무 것도 저장하지 않고 있습니다. 기억하는 기능이 있다고 말하는 것입니다. – Scott