사용자가 자신의 전자 메일 주소와 암호를 입력하는 PHP에서 쿼리를 작성하고 데이터베이스에서 일치하는 전자 메일과 암호 인 경우 데이터베이스에서 행을 검색해야합니다. 어떻게해야합니까? 사용자 이름 또는 암호가 올바르지 않은 경우 그에 따라 메시지를 인쇄해야합니다.전자 메일 암호 조건을 사용하여 데이터베이스에서 레코드를 검색하려면 어떻게합니까?
답변
나는 의사 코드에 다음과 같이 갈 것이다 다음 authentication()
기능은 암호로 이메일을 비교
if(authentication(email, password)) {
phpQuery();
} else {
alert();
}
액세스 권한을 부여 할 수 있습니다.
암호를 데이터베이스에 일반 텍스트로 저장하면 안됩니다. 암호 해시에 대해 읽어보십시오.
간단한 예 :
function passwordHash($username, $password){
$hash = $password;
for($i = 0; $i < 10000; $i++){
$hash = md5($hash . $username); // we use username as salt
}
return $hash;
}
$username = mysqli_real_escape_string($_POST['username']);
$hash = passwordHash($username, $_POST['password']);
$sql = "SELECT * FROM `users` WHERE username='$username' and password='$hash'";
$query = mysqli_query($sql);
if(mysqli_num_rows($query) != 0){
// successfull login
}else{
// login failed
}
물론 동일한 해시 함수를 사용하여 양식을 가입해야한다. 또한 mysql 연결을 초기화하지 않았다.
MD5를 사용해서는 안됩니다. http://security.stackexchange.com/questions/19906/is-md5-considered-insecure PHP는 그 일을하는 자체의 기능을 가지고 있습니다. – Ivan
준비된 문장을 사용하십시오! SQL 인젝션에 대해 읽어보십시오 : http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – Ivan
얘들 아, 나는 가장 간단한 보안 솔루션을 썼다. md5의 반복을 10000 회 사용하고 mysqli_real_escape_string을 사용했음을 주목하십시오. – Reptile
- 1. 전자 메일 암호 확인
- 2. 내 액세스 데이터베이스에서 새 삽입을 검색하려면 어떻게합니까?
- 3. 데이터베이스에서 레코드를 임시로 삭제하려면 어떻게합니까?
- 4. Java로 DNS에서 여러 TXT 레코드를 검색하려면 어떻게합니까?
- 5. ASP.NET 로그인 전자 메일/암호
- 6. 데이터베이스에서 모든 테이블을 검색하려면 어떻게합니까? (안드로이드, SQLite는)
- 7. 검색 양식에서 여러 레코드를 검색하려면 어떻게합니까?
- 8. 데이터베이스에서 아래 형식으로 날짜를 검색하려면 어떻게합니까?
- 9. CQL을 사용하여 Null/Empty 필드가있는 레코드를 검색하려면 어떻게합니까?
- 10. 전자 메일 헤더를 제거하려면 어떻게합니까?
- 11. Java에서 전자 메일 자동 추출
- 12. PHP를 사용하여 데이터베이스에서 이미지를 검색하려면
- 13. Java를 사용하여 Postgres에서 Matlab으로 이미지를 검색하려면 어떻게합니까?
- 14. 구문 분석 암호 재설정 전자 메일
- 15. Firebase 전자 메일 및 암호 인증이 실패합니다.
- 16. Magento - 암호 변경 확인 전자 메일
- 17. 만료 재설정 암호 전자 메일 키
- 18. ASP.net에서 전자 메일 주소로 암호 전송
- 19. 긴 문자열에서 전자 메일 주소를 식별하고 전자 메일 주소를 회사의 전자 메일 주소로 바꾸려면 어떻게합니까?
- 20. Exchange 2007 서버에서 메일을 검색하려면 어떻게합니까?
- 21. PHP에서 cPanel XML API를 사용하여 전자 메일 암호 변경
- 22. 전자 메일 문자열을 ASCII 문자로 변환하려면 어떻게합니까?
- 23. 암호화 된 암호 및 전자 메일 검색에 대한 권장 사항
- 24. 데이터베이스에서 전자 메일 메시지에 삽입 된 변수
- 25. WP7에서 많은 양의 레코드가있는 Txt 파일의 레코드를 검색하려면 어떻게합니까?
- 26. MX 레코드를 사용하여 다른 도메인으로 전자 메일 전달
- 27. MX 레코드를 사용하여 전자 메일 주소 유효성 확인
- 28. cakephp : 전자 메일 주소를 사용하여 일치하는 레코드를 가져오고 양식으로 표시
- 29. eclipse에서 라이브러리를 검색하려면 어떻게합니까?
- 30. C#에서 전자 메일 보내기 데이터베이스에서 메일 주소 사용
게시물이 너무 넓어서 닫아야합니다. – Ivan