2011-03-09 5 views
2

쿠키를 사용하여 개인 시스템을 통해 인증 방법을 테스트하고 있습니다. 쿠키를 통해 인증, 관리자 ID 저장

내가 이런 DB를 고려해

adminID - user - email - psw 
누군가가 내가 이런 쿠키 설정에 로그인 할 때마다

: 웹 사이트가를 선택이 쿠키의 존재를 통지 그래서

$adminID . 'i' . md5($email.md5($psw)); // Example: 12iAbsca89d2n2j321j312n3j2j2kn 

을 id에서 쿠키를 가져온 다음이 경우 12 Absca89d2n2j321j312n3j2j2kn의 부수를 md5($email.md5($psw))에서 db에서 확인하십시오. 여기서 adminID는 12입니다.

나쁜거야? 그렇다면 왜?

내가

감사

+0

매우 나쁜 생각입니다. 당신은 인증 시스템을 가지고 있지 않을 수도 있습니다. – David

+0

이 댓글을 쓰지 않고 이유를 설명하십시오. 내가 본 유일한 문제는 누군가 다른 사람의 컴퓨터에서 쿠키를 훔치는 것입니다. –

+0

네트워크에서 트래픽을 스니핑하는 사람은 어때요? 쿠키를 가져 오는 것은 간단합니다. 일단 브라우저를 통해 보내면 웹 사이트에서 adminID = 12를 가진 모든 권한 사용자에게 권한을 부여합니다. – David

답변

1

내 테이블에 인덱스 타 필드를 만들 필요없이 내가 차 필드 (adminID)에 선택을 할 수를 변경할 수 없기, 성능 현명한이 테스트하고 그것은 단지에 따라 달라집니다 얼마나 안전한 사이트를 원하십니까? 그 접근 방식은 개인적으로 많이 본 것보다 낫습니다. 그러나 쿠키 하이재킹에 익숙합니다. 누군가가해야 할 일은 트래픽을 스누핑하고 쿠키와 비올라를 복사하는 것입니다. 액세스 권한이 있습니다. 작은 사이트의 경우에는 가능성이 매우 낮습니다. 실제로, 완전히 안전 할 수있는 유일한 방법은 세션을 올바르게 사용하는 것입니다. 이것은 방문 사이에 로그인하지 않는 것이 단점이므로 은행 웹 사이트 또는 eBay를 생각하면 더 자주 로그인하게됩니다.

+0

내 웹 사이트는 은행이 아닙니다. 나는 그런 종류의 보안이 정말로 필요하지 않습니다. – dynamic

+0

그게 전부 이해할 수있는, 내가 내 사이트에 대한 로그인을 계속 내 비슷한 있습니다. 당신은 세션 및 백업 세션에 대한 쿠키를 사용하는 것이 좋습니다. 또한 md5보다 더 안전한 것을 추가한다고 생각하면, 특히 hash ('sha512', $ email. $ psw)' – steveo225

+0

@ yes123을 보아라. 그런 종류의 보안이 필요하지 않을까? 은행 웹 사이트에 대한 비교는 ** 귀하의 보안 위험을 비교하는 방법이 아닌 ** **입니다. 그것이 손상된 경우 사용자에게 미치는 영향을 알고 있고 이해하고 있습니까? 그것이 어떻게 안전해야하는지 평가하기 시작한 것이기 때문입니다. – staticsan

1

왜 사용자가 액세스 할 수없는 SESSIONS (볼, 편집)가 쿠키에 저장?

내 제안 - 사용자의 ID 만 세션에 저장하십시오.

session_start(); 

//Logging in (checking for $_POST data etc., validating password) 
if(do_log_in()){ 
    $_SESSION['user_id'] = $user_id; 
} 

if(isset($_SESSION['user_id'])){ 
    echo "User is logged in!"; 
} 
+0

세션에서도 쿠키를 사용합니다 – dynamic

+0

$ _SESSION 변수는 다른 서버에서 공유되지 않으므로이 문제에 대한 코딩은 실제로 더 많은 하나의 기계보다. 나는 memcached, membase 또는 mysql (다른 두 가지에 비해 느리다)을 사용하는 것을 추천한다. – Saurav

+0

@ yes123 그렇습니다.하지만 세션 ID가있는 쿠키는 1 개만 사용되며 보안을 강화하는 사용자에게별로 의미가 없습니다. –

0

세션 ID 만 유지하고 memcached를 사용하여 세션 데이터를 저장하는 것이 좋습니다.

관련 문제