빠른 질문 중 하나입니다.MySQL은 MD5를 인식하지 못합니다.
MD5 암호가 MySQL 항목과 동일하지만 atm이 잘못되었습니다. (그래도 내 오프라인 서버에서 작동 확인 ..)
당신은 제가이 쿼리에 잘못된 뭐하는 거지 알려 주시기 바랍니다 수 :
SELECT * FROM `users` WHERE `username` = '".trim($_POST['username'])."' AND `password` = '".md5(trim($_POST['password']))."' LIMIT 0,1;
감사합니다!
잘못된 것은 SQL 문에 게시 된 데이터를 직접 주입하는 것입니다. – Pitchinnate
처음에는 변수에 쿼리를 직접 삽입하여 코드를 SQL 삽입에 매우 취약하게 만듭니다. 둘째, 준비된 문과 변수를 사용해야합니다. 셋째, 쿼리를 출력하여 데이터베이스에 직접 붙여 넣어 오류가 무엇인지 확인해 보았습니까? 'username '이'admin'또는 1 = 1 -'이라고 상상해보십시오. 갑자기 암호를 모른 채 사용자 이름이 "admin"인 사용자로 갑자기 로그인하게됩니다. 시원한! – h2ooooooo
오류가 있습니까? – Pitchinnate