기본적으로 로그인 정보를 전달하는 아약스 양식이 있는데, 아약스로 전송하기 전에 비밀번호를 암호화 한 다음 PHP에서 해독 할 수있는 방법이 있습니까?자바 스크립트 및 PHP 암호화/암호 해독
또는 다른 방법으로 살펴 봐야하나요?
많은 감사합니다 :) 내가 PHP와 자바 스크립트에서 그것의 구현을 프로그래머 알고 있기 때문에
이기본적으로 로그인 정보를 전달하는 아약스 양식이 있는데, 아약스로 전송하기 전에 비밀번호를 암호화 한 다음 PHP에서 해독 할 수있는 방법이 있습니까?자바 스크립트 및 PHP 암호화/암호 해독
또는 다른 방법으로 살펴 봐야하나요?
많은 감사합니다 :) 내가 PHP와 자바 스크립트에서 그것의 구현을 프로그래머 알고 있기 때문에
이JavaScript 또는 PHP에서 암호화를 수행 할 이유가 없으므로 은 SSL (HTTPS)을 사용하는 것이 좋습니다. 요즘에는 모든 브라우저에서 신뢰할 수있는 인증서를 얻을 수 있으므로 for free이므로 SSL을 사용하지 않아도됩니다.
어떤 이유로 SSL을 사용할 수없는 경우 RSA의 JavaScript 구현을 사용하여 로컬에서 암호화 할 수 있지만 서버에서만 다시 해독 할 수 있습니다.
당신은, RC4를 사용할 수 있습니다. 그러나 어떤 종류의 암호화를 사용하는 경우에도 키 클라이언트 측을 그대로 두어 암호화 할 수 있으므로 페이지에 액세스 할 수있는 모든 사람이 키를 가져와 해독 할 수 있습니다 (따라서 포인트를 무효화 할 수 있음).
클라이언트 측에서 해시하거나 (암호를 알 필요가없는 경우 PHP에서 해시와 일치 시키거나) RSA와 같은 공개 - 개인 키 암호화를 사용하는 것이 더 좋을 수 있습니다. 클라이언트는 암호화 할 수는 있지만 해독 할 수는 없습니다.
해시의 경우 hash() 및 sha1 for Javascript을 확인하십시오.
그리고 RSA에 대한
이 블로그 게시물 http://www.sematopia.com/2008/10/rsa-encrypting-in-javascript-and-decrypting-in-php/감사합니다. – Joshwaa
사용 SSL certificate을 확인하고 AJAX 형태에서 HTTPS를 통해 로그인을 보낼 수 있습니다.
당신은 안전하게 할 수 없습니다. https를 사용해야합니다
md5(password)
을 JS와 PHP에서 모두 수행 한 다음 암호화 된 암호를 비교할 수 있습니다.
사용자 이름이 암호화되지 않았으므로 PHP의 DB에서 암호를 가져 와서 암호화 할 수 있습니다.
그렇게하는가장 좋은 방법은 다음과 같습니다
$_SESSION['crypt_key']
에 저장하고, 아약스 양식에 숨겨진 입력으로 보내;md5(crypt_key + password)
을 사용하여 암호화합니다.md5($_SESSION['crypt_key'] . $password)
을 사용하여 PHP로 암호화하고 비교하십시오. 이렇게하면 모든 요청이 암호화되지 않은 암호를 전송하게됩니다.
훌륭한 자료입니다. 감사. – Joshwaa