2012-09-06 5 views
1

나는 ID와 암호를 SQL 데이터베이스의 데이터와 대조하여 확인하는 PHP 파일에 ID와 암호를 제출하는 로그인 양식을 가지고 있습니다. 보내는 양식 데이터를 암호화하여 대상에 도착할 때까지 아무도 볼 수 없도록하려면 어떻게해야합니까? 로그인 폼 코드는양식 데이터를 암호화하는 방법은 무엇입니까?

<html> 
<head> 
<title> 
Login page 
</title> 
</head> 
<body> 
<form name="login" action="fetchalldata.php" method="post"> 
Username : <input type="text" name="userid"/> 
Password : <input type="password" name="pswrd"/> 
<input type="button" name="submit" value="Login"/> 
</body> 
</html> 

는 해시 된 암호가 더 효과적 보내는 데이터베이스에 암호 을 prehashing 것입니까? 보안 SSL 연결을 사용

+3

[SSL 사용] (http://en.wikipedia.org/wiki/Secure_Sockets_Layer) – PeeHaa

+0

https는 가야합니다. –

+0

음, GoDaddy가 저렴한 SSL 인증서를 제공한다고 생각합니다. – Tarik

답변

6

SSL은 답변입니다. 유일한 대답. 당신이 홈 BREW 솔루션으로 이동 이동 시도해야하는 경우

그러나, 여기에 아이디어가 생각하는 것입니다

  • 는 PHP 코드가 현재 타임 스탬프 자바 스크립트를 제공합니다.
  • 사용자가 입력 한 암호를 사용하고 타임 스탬프를 추가 한 다음 암호화합니다.
  • 암호화 된 암호를 타임 스탬프가있는 서버에 다시 전달하십시오.
  • 서버에 반환 된 데이터가 최신인지 확인하고 암호화 된 암호가 자체 수학에 맞는지 확인하십시오.
  • 타임 스탬프가 너무 오래 이미 그것을 거부에 로그인하는 데 사용 된 경우.

이것은 여전히 ​​나쁜 생각이지만 일반 텍스트 암호를 보내는 것보다 비참하지는 않습니다.

SSL 사용. 정말.

+6

OP * 정말 * SSL을 사용해야한다는 것을 잊어 버린 것 같습니다. :) – PeeHaa

+3

@ 피하 - 아 .. 죄송합니다. 나는 그것을 고쳐야 할 것이다. 머리를 가져 주셔서 감사합니다. –

+0

몇 가지 코드를 볼 수 있습니까? –

2

암호화 된 형태로 데이터를 보장하는 유일한 방법입니다. 그러나 전송하기 전에 약간의 JavaScript를 사용하여 암호를 인코딩 할 수 있습니다. 사이트를 볼 수있는 사람은 자바 스크립트를보고 리버스 엔지니어링 할 수 있기 때문에 많은 보안을 제공하지는 않지만 일반 텍스트 암호를 보내지 않는 것이 좋습니다.

+1

입니다 @lonewaft. ** HTTP를 통해 자바 스크립트 암호화 ** – duskwuff

+0

@duskwuff, 그는 (귀하의 사이트를 볼 수있는 사람이 자바 스크립트를 참조하고 리버스 엔지니어링 할 수 있기 때문에) 그것은 많은 보안을 제공하지 않습니다'여기 언급했다. 기본적으로 신뢰할 수 있지만에서 수행 주위에 일반 텍스트 패스워드를 보내는 것을 피하십시오. –

관련 문제