2012-04-06 4 views
0

사용자가 가입하고 로그인 할 수있는 첫 번째 전체 웹 사이트를 만들고 있습니다. 다음 쿠키가 안전한가요? 사용자 이름이나 암호 대신 이름에 대해보다 구체적인 임의의 코드가 필요합니까?로그인 쿠키 보안

setcookie("username", "$username", time()+3600); 
setcookie("password", "$password", time()+3600); 
+1

을 인코딩 할 때 같은이가 어떻게되어 있는지 확인하기 위해이 암호를 비교할 때 쿠키를 설정하는 대신 직접 PHP의 세션 기능을 사용하기위한 특별한 이유가 있습니까? –

+1

"일반 텍스트 암호를 유선과 클라이언트의 파일에 안전하게 보관하고 있습니까?" - 아니 정말. 그럴 경우 평문 암호를 전혀 저장하지 않아도됩니다. – Mat

+0

무엇을하고 있는지 중지하십시오. session_start()와 $ _SESSION super global을 사용하십시오. – rook

답변

-1

예, 컴퓨터/브라우저에만 해당하므로 안전합니다. (과자들).

시간이 지나면 자동 삭제됩니다.

예, "(nameofsite) usern"및 "(nameofsite) pas"와 같은 쿠키의 ID는 "username"및 "password"대신에 임의의 코드를 " 사용자 이름 "및"비밀번호 "가 다른 웹 사이트의 사용자 컴퓨터/브라우저에서 이미 쿠키를 방해 할 수 있습니다.

이미 제출할 때 비밀번호를 인코딩한다고 가정합니다.

+0

시의 적절하고 도움이되는 응답을 주셔서 감사합니다 – Matt

1

누군가가 사용자 브라우저에서 쿠키 파일을 훔쳐 자신의 사용자 이름/비밀번호에 액세스 할 수 있지만 원하지 않습니다. 따라서 사용자에게 임의의 인증 토큰 (세션 ID)을 부여하고 서버 측의 사용자를 로그인 정보가 포함 된 데이터 세트와 연관시킵니다. PHP에는 이미이 기능이 내장되어 있습니다.

그래서 PHP의 세션 엔진을 사용해야합니다. http://de3.php.net/manual/en/book.session.php

또한 브라우저가 쿠키를 지원하지 않는 경우 어떻게되는지 문제를 처리합니다.

+1

또한 Mat의 의견에 의하면 일반 텍스트로 암호를 저장하지 마십시오. 암호 (예 : SHA1)를 해시하고 해시를 서버에 저장해야합니다. – Pepe

+0

이벤트가 쿠키에 암호를 저장하는 해시되고 해시 된 경우 결코 좋은 생각이 아닙니다. – worenga

1

사용자가 자신의 로그인과 암호를 기억하여 자동으로 다시 기록하려면 사용해야합니다. 사용하지 않을 경우 세션.

암호를 인코딩해야합니다. 누군가가 직접 입력 한 암호를 저장하지 마십시오! 비밀번호가 같은 인코딩 된 경우는 안전 이 인코딩

md5('my_password'); 

는이 값의 무한대로 연결되어 있기 때문에 암호를 해독 할 수있는 방법이 없습니다.

은 모두 암호가

+0

MD5는 손상된 것으로 간주되며 암호화 목적으로 사용하면 안됩니다. –

+0

깨졌지만 단방향 암호화이므로 ​​암호는 괜찮습니다. –

+0

MD5에서 다양한 결함이 입증되었습니다. 거기에 너무 많은 더 나은 쉽게 사용할 수있는 해시 함수가 있습니다, 그래서 왜 지구에서 MD5를 사용/권장 계속 하시겠습니까? –