PHP Security And Password Hashing Tutorial – Register & Login Form

이 비디오 튜토리얼에서는 PHP 암호 해싱 기술에 대해 설명하고 안전하게 상점을 만들고 PHP 암호 해시를 확인하는 방법에 대해 알아 보겠습니다 헤이 녀석들 무슨 일인지 여기 Codingpassiveincome

com에서 상원 의원이야 나는 다른 사람들이 웹 개발자가되기보다 훨씬 쉽고 빠르도록 돕는다 그들은 독자적으로 그것을 할 것이므로 그것이 당신이 고려하는 관심사라면 구독하기 때문에 먼저 PHP 암호 해시를 만드는 법을 보여줍니다 우리가해야 할 일은 우리가 가고자하는 데이터베이스를 만드는 것입니다 그 해시를 저장할 수 있도록 내 PHP를 열어 보겠습니다

'그리고 나서 나는 새 데이터베이스 나는 utf-8을 사용하고 create를 누른 다음 간단하게 하나의 테이블 만들기 사용자와 내가 특별한 정보가 없다고 말하자 하나의 ID를 갖게됩니다 자동 증가를 설정합니다 좋아요, 하나의 이름을 갖도록하겠습니다 50 하나의 이메일을 설정하면 varchar 50을 다시 말한 다음 암호를 설정합니다

여기서 주목해야 할 중요한 것은 길이가 얼마나 큰지 알아야한다는 것입니다 나중에 해시를 만드는 방법에 대한 여러 유형을 보여줄 것입니다 그래서 아마 당신을위한 최선의 방법은 varchar의 최대 값인 255를 사용하는 것입니다 이 길이는 당신이 사용하는 패스워드 해쉬의 길이만큼이나 충분합니다 창조 할 것입니다

그리고 그게 바로 그 것입니다 이제 우리는 4 개의 칼럼이있는 특별한 테이블을 하나도 갖지 않으므로 이제는 아주 간단한 등록 양식을 만들어서 우리가 만들고 저장할 수 있습니다 그 해시 그래서 난 그냥 HTML 문서를 만들 것입니다 나는 PHP 암호 해쉬 레지스터를 알기 쉽게 전람 할 것이다 부트 스트랩 라이브러리를 포함 시키십시오 최신 패키지이므로 그냥 사용하게 될 것입니다

헤드 태그를 닫기 직전 인 CDN 링크는 괜찮습니다 우리는 하나의 컨테이너를 갖게 될 것이고, 이제 이것에 대한 마진 상위 200 픽셀을 설정할 것입니다 컨테이너 내부에이 컨테이너 안에 하나의 행과 내부가 있습니다 이 행은 모든 내용을 중심에 놓을 것이고이 행 안에는 md6이라는 하나의 열만 있으면됩니다 어쩌면 셋에 오프셋을 설정해 보겠습니다

센터 괜찮아요 그래서 상단에 나는 내 로고가 하나의 이미지를 포함합니다 현명한 정오로 설정 될 것이고, 그래서 나는 우리가 잃어버린다고 말하려합니다 메소드 게시 및 조치가 현재 파일이어야합니다 물론 좋습니다 연약한 입력이 있기 위하여 첫번째 것 나는 그것이 placeholder I 일 이름 일 것이라는 점을 말할 것이다 이름을 설정할 것입니다 그리고 그게 아무것도 특별하지 다음에 내가 이메일을 설정할 것입니다 아마 나는 이메일에 시간을 정해야한다, 그리고, 그 다음 다음 암호는 비밀 번호가 될 것입니다 비밀 번호를 누른 다음 우리는 또한 비밀 번호를 확인해야합니다 좋아, 우리가해야 할 마지막 일은 버튼 살을 제출하는 것입니다

값을 제출하면됩니다 그러면 이름이 정상적으로 제출됩니다 또한 각 입력에 대해 설정해 보도록하겠습니다 폼 컨트롤 괜찮아요 그래서 모든 클래스가 부스터에서 직접옵니다

우리가 만든 것을 금방 볼 수 있습니다 신선하고 여기에 우리는 이름이 있습니다 전자 메일 비밀 번호 확인 암호 아마이 클래스에 설정된이 레지스터 BTN 및 어쩌면 btn- 기본 좋아요 이렇게 좋아요 이제 좋아요

누군가가이 버튼을 실제로 누를 때 어떤 기능을 사용할 수있게되었습니다 당신이 이미 알고있는 것처럼 나는 약간의 PHP 코드를 작성할 것이다 그래서 isset 게시물이 있으면 여기에 설정하고이 제출을 위해 거래하겠다고합시다 즉 누군가가이 제출 버튼을 누르면 우리는 이름을 받아 들일 것입니다 똑같은 일은 비밀번호를 이메일로 보내는 것과 물론 우리가 가지고있는 것입니다

패스워드 확인 – 알았어 그래서 우리는 각각의 기본 체크를 할 수있다 m2가 될 필요가 있을지도 모르겠지만 아마 우리는 이것과 같은 최소값을 3이라고 말할 수 있습니다 이 하나의 최소 길이가 5이고이 것에 대한 동일한 길이라고 가정 해 봅시다 어쩌면 여기에 패스워드가 다른지 확인한 후 패스워드를 확인해 봅시다

우리는 에코를 말할 것입니다 암호 및 어쩌면 메시지가 무엇인지 중요하지 않을 수도 있습니다 이것과 같이 여기 와서 맨 위의 모든 것들을 아마 보자 이미 이렇게하는 방법을 알고있다 이것은 정말로 특별한 것이 아니다

어쩌면 여기에 메시지가 있다면 여기에서해라 그러면 나는 여기에서 앉아있을 것이다 만일 당신이라면 아마 만일 그들이 그렇다면 아마 메시지를 되풀이해라 이 에코 말하기 암호가 일치하면 우리는 지금 우리가해야 할 일은 실제로 어떤 이름과 이메일을 가지고 있습니다 이 암호에 대한 해시를 만들어서 암호 해싱을하기 전에 자신의 서버 타입을 가지고 가기를 원한다

info : 현재 서버에 대한 모든 정보를 얻고 싶습니다 당신이 볼 수 있듯이 내 버전은 7 포인트 영점 9와 해싱입니다 내가 보여줄 기술은 최소한 5 포인트 6을 가져야합니다 해당 서버 유형을 실행하고 있는지 확인하십시오 약간의 실수가 있으니 이걸 쓸 수 없으니 어떻게 될까? 해시를 만들려면 여기서 해쉬 평등이라고 말하고 이제는 해시를 사용하겠습니다 함수는 암호 해시이며이 함수는 우리에게 두 개를 넣어야합니다

두 개의 매개 변수를 입력하므로 첫 번째 암호는 사람을 통과 한 암호입니다 가 입력되었고 다음은 우리가 가고있는 알고리즘의 유형입니다 이 해시를 사용하여 다른 것을 사용할 수 있으므로 내가 볼 수있는 것처럼 사용할 수 있습니다 그는 그 (것)들 사이 bcrypt 또는 과실을 건의했다 두 가지는 bcrypt를 사용하면 해시 길이가 항상 60 자이며 항상 동일하지만 사용한다면 암호 기본값은 시간과 버전이 다른 것을 의미합니다 PHP의 열차는 아마도 그 해쉬의 길이 그래서 내가 우리 테이블에 우리는 그것이 255자를 입력하면됩니다 암호를 저장할 수있는 충분한 공간이 있으므로 우리는 사용하려고 결정할 것입니다

이 튜토리얼의 bcrypt 또는 default 나는 단지 B 그립을 사용할 것이다 당신이 할 수있는 다른 옵션들, 예를 들면 당신은 비용을 선택할 수 있습니다 당신의 해시가 얼마나 강해지는지 당신은 또한 사용될 소금을 정의 할 수 있습니다 하지만 PHP 7 버전에서 이러한 것들은 가치가 떨어지고 여러분은 그 사람들을 여기에 두어서는 안되니 그래서 내가 너를 보여주지 않을거야 그리고 나는 너를 보여주지 않을거야

옵션으로 여기에 아무 것도 넣으 려니 그래야 해시를 안전하게 만들 수 있습니다 이런 식으로 그리고 지금 우리가 필요로하는 다음 일을 만드는 것만으로 충분합니다 물론 우리가 만든 사용자 테이블에이 해시를 저장해야합니까? 우리가하기 전에 새로운 연결을 만들 것입니다 그래서 새로운 mysqli를 말할 것입니다

그런 다음 내 호스트는 localhost입니다 내 사용자 이름은 root 암호는 m2이고 그렇다면 데이터베이스 이름을 선택해야 암호 해싱을 말할 수 있다고 생각합니다 우리 데이터베이스의 이름이 맞았습니다 이제 괜찮습니다 그 입력은 이제 연결 실제 탈출 문자열을 말하고 나서 나는 여기에 갈 것이다

우리가 약간의 보호를 받았는지 확인하기 위해 이것을하십시오 데이터베이스에 비밀번호가 이미있는 경우 몇 가지 확인 작업을 수행 할 수 있습니다 만약 당신이 무엇을 할 것 인 지 등이 아니라 등 우리가 가고 있다고 말하자 일을 간단하게 유지하고 나는이 새로운 사람을 데이터베이스에 삽입 할 것입니다 연결 쿼리를 말한 다음 사용자에게 삽입을 말한 다음 이름 전자 메일과 암호를 지정하며 값은 이름이므로 전자 메일 및 비밀 번호는 괜찮아요 우리의 메시지 미안해 비밀 번호 해시 괜찮아해야하고 그러면 우리는 여기에 당신이 등록되어서 메시지가 정말로 그렇지 않다는 말을 할 것입니다

중요하므로 이제이 레지스터를 실행 해 보도록하겠습니다 내 이름을 말해 보겠습니다 이름 P 이메일입니다 알겠습니다 test 1 2 3 그리고 나는 등록하러 가서 패스워드를 확인해주십시오 ok test 1 2 3 테스트 1 2 3 3 너와 이후로 괜찮아

등록되었습니다 이제 우리 테이블을 확인해 보시고, 여기에서 볼 수 있듯이 한 명의 새로운 사용자가 삽입되었지만 우리에게 흥미로운 점은 암호 그래서이 패스워드를 어떻게 보이는지 확인해 보겠습니다 여기 내 test123이 이제 이걸로 할 수 있듯이 지금이 사실을 읽거나 해독하기가 어렵습니다 패스워드를 전달하는 가장 좋은 방법은 나이가들 때입니다

md5 또는 다른 약한 해싱 알고리즘에서 이미 사용하는 응용 프로그램 당신은 정말로 그것을 바꿔야합니다 이제 데이터베이스에 사용자와 일부 해시가 해시를 확인하는 방법을 알려주므로 로그를 시도합니다 그럼 내가 할 일은이 레지스터 파일을 PHP는 거의 모든 것이 동일하지 않으므로 이것에 너무 많은 시간을 들여 이렇게 말하자 좋아요 그냥 아래에서 삭제 해주세요

이름 삭제 쾌적함을 지울 것입니다 비밀 번호와 그게 그렇게 디자인은 동일합니다 내가 여기에 혼자 앉아있을 것입니다 중요한 건 아니에요 그러면 잘 보일 것입니다 안녕하세요 PHP는 여기에 우리가 가서 우리는 버튼의 이름을 변경해야합니다 괜찮아요 누군가가 이것을 누르고 우리의 법에 모든 정보를 보내면 그렇게됩니다 PHP가 전자 메일 및 암호로 승인되었으므로 이제 내부를 점검해야합니다

데이터베이스에이 이메일을 가진 사용자가 있으므로 어떻게 할 것인가? 이 새 SQL 만들고 연결 쿼리 및 내가 말할 것이라고 말할 것이다 select 이메일과 이메일이 일치하는 사용자의 ID와 비밀번호를 봅시다 여기에 우리가 밧줄을 가지고 있는지 확인해 보겠습니다 당신은 그것을 그대로 둘 수 있습니다 그러나 저는이 방법을 선호합니다 그래서 정말 명확합니다

나는 사람들이 메시지를 확인하고 여기에 다른 말을 할려고한다 이제 우리는 데이터를 평등하게 말할 필요가 있습니다 우리가 말할 변수 델타는 우리가 가지고있는이 ID와 암호를 저장합니다 데이터베이스 내부에서이 암호로 해시를 확인해야합니다 내가 어떻게 할거야 비밀 번호를 확인하는 기능이있다 saozi 암호 확인 후 첫 번째 매개 변수가 현재 암호 인 경우 그 사람이이 양식에 입력 했으므로 여기서 암호를 말할 것입니다 다음 매개 변수는 우리가 데이터베이스에 저장 한 해시이므로 데이터 비밀번호를 말할 것입니다

그렇다면 이제는 이것이 사실이라는 것을 의미합니다 암호 및 데이터베이스 내부의 해시는 다음과 같습니다 똑같은 말로 여기 당신이 로그하고 아마도 여기있는 메시지를 말할 것입니다 당신은 당신이 세션에 사용자 ID를 저장하는 세션을 만들 것입니다 등등하지만이 튜토리얼에서는 실제로 중요하지 않으므로 저장하고 이제 로그인 해 보도록하겠습니다

잘 보도록하겠습니다 잘못된 암호를 입력하면 아마 어떤 메시지도 나타나지 않을 것입니다 여기 똑같은 말을 해봅시다 다시 시도해 보도록하겠습니다 입력 내용을 확인하십시오

말하자면 당신은 올바른 암호 테스트를 한 두 세 세 로그인 넣어 넣어 지금은 당신이 정말로 당신이 볼 수있는 것처럼 당신이 로그인했기 때문에 저장소를 안전하게 만들고 암호를 확인하기 위해 기억해야 할 많은 항목 해시 당신이 기억할 필요가있는 것은 당신이 암호를 사용해야 할 필요가 있다는 것입니다 해시 함수의 첫 번째 매개 변수는 password이고 두 번째 매개 변수는 알고리즘을 사용하고 나서 우리가 검색하고 검증하고자 할 때 데이터베이스에서 가져와 암호로 확인 된 함수를 사용하십시오 너무 많은 사람들이 당신이 비디오를 좋아한다면 그것을 좋아해요 친구와 공유하고 질문이 있으시면 언제든지 댓글을 남기십시오 아래에 나는 그들 모두에게 대답 할 것이다

돌보다