> 백엔드 개발 > PHP 튜토리얼 > javascript - 일부 웹사이트에서는 js를 사용하여 사용자가 로그인을 제출할 때 비밀번호 상자의 비밀번호를 되돌릴 수 없게 암호화한 후 제출합니다. 이것이 필요한가요? 장점과 단점은 무엇입니까?

javascript - 일부 웹사이트에서는 js를 사용하여 사용자가 로그인을 제출할 때 비밀번호 상자의 비밀번호를 되돌릴 수 없게 암호화한 후 제출합니다. 이것이 필요한가요? 장점과 단점은 무엇입니까?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-08-18 09:15:42
원래의
1315명이 탐색했습니다.

이러한 웹사이트의 프로세스는 대략 다음과 같습니다.

사용자 등록 시:

  1. 사용자가 비밀번호를 입력합니다

  2. 사용자가 제출을 클릭합니다

  3. 제출 전 프런트 엔드에서 비밀번호를 암호화하세요

  4. 비밀번호를 데이터베이스에 저장하기 전에 암호화하세요

사용자가 로그인할 때:

  1. 사용자가 비밀번호를 입력합니다

  2. 사용자가 제출을 클릭합니다

  3. 제출 전 프런트 엔드에서 비밀번호를 암호화하세요

  4. 비밀번호를 서버로 전송하고 다시 암호화하세요

  5. 데이터베이스의 비밀번호 비교

이것은 다른 목적을 가진 사람들이 귀하의 일반 텍스트 비밀번호를 얻는 것을 방지할 뿐이라고 생각하지만, 일반 텍스트 비밀번호를 모른 채 가로채는 암호 텍스트를 사용하여 로그인 요청을 구성할 수는 있습니다.

그런데 아직도 일부 웹사이트(http사이트)가 이렇게 하고 있는데 굳이 이렇게 할 필요가 있을까요? 장점과 단점은 무엇입니까?

물론 https를 대체할 수는 없습니다

답글 내용:

이러한 웹사이트의 프로세스는 대략 다음과 같습니다.

사용자 등록 시:

  1. 사용자가 비밀번호를 입력합니다

  2. 사용자가 제출을 클릭합니다

  3. 제출 전 프런트 엔드에서 비밀번호를 암호화하세요

  4. 비밀번호를 데이터베이스에 저장하기 전에 암호화하세요

사용자가 로그인할 때:

  1. 사용자가 비밀번호를 입력합니다

  2. 사용자가 제출을 클릭합니다

  3. 제출 전 프런트 엔드에서 비밀번호를 암호화하세요

  4. 비밀번호를 서버로 전송하고 다시 암호화하세요

  5. 데이터베이스의 비밀번호 비교

이것은 다른 목적을 가진 사람들이 귀하의 일반 텍스트 비밀번호를 얻는 것을 방지할 뿐이라고 생각하지만, 일반 텍스트 비밀번호를 모른 채 가로채는 암호 텍스트를 사용하여 로그인 요청을 구성할 수는 있습니다.

그런데 아직도 일부 웹사이트(http사이트)에서 이렇게 하고 있는데 굳이 이렇게 할 필요가 있을까요? 장점과 단점은 무엇입니까?

물론 https를 대체할 수는 없습니다

예전에 신원인증을 할 때 프론트엔드 암호화에 대해 생각해봤는데 별 쓸모도 없고 별 쓸모도 없다는 생각이 들었습니다.

서버의 경우 프런트엔드 암호화 데이터는 사용자의 비밀번호입니다. 패킷이 캡처되면 해커는 프런트엔드 암호화 데이터를 탈취하여 위장 로그인할 수 있습니다

보안 요구 사항이 높은 경우에도 https를 사용할 수 있지만 공격을 받을 수도 있습니다.

전체 사이트가 https인 경우 모든 http 리소스에서 경보가 발생합니다. HTTPS에서는 사진에 대해서도 전체 프로세스를 암호화해야 하기 때문입니다.

프론트 엔드 암호화는 전송 과정에서 비밀번호가 전송의 암호문임을 보장할 수 있습니다. 즉, 비밀번호 소유자 외에는 누구도 비밀번호가 무엇인지, 심지어 프로그램을 개발하는 사람도 알 수 없습니다.
이렇게 하면 누군가가 http 패키지를 포착하더라도 이를 해독할 수 없습니다(무차별 대입 크래킹 제외)

유일한 장점은 데이터베이스가 제거되더라도 다른 웹사이트의 사용자 비밀번호에 영향을 미치지 않는다는 것입니다(일반적으로 크리덴셜 스터핑이라고 함).
다른 웹사이트는 아무 소용이 없습니다. 단순히 공격을 재현하는 것만으로는 사용자를 속일 수 없습니다. 예를 들어, 로그인 후 http의 경우 중간자 공격이 사용자의 비밀번호를 가로채면 원래 비밀번호가 무엇인지 알 필요가 없으며 동일한 비밀번호로 다시 요청을 보내면 됩니다. ciphertext. 가짜 사용자 로그인도 가능합니다
https 웹사이트도 암호화되어 있다는 것이 제가 말한 유일한 장점입니다
이것은 바지를 벗고 방귀를 뀌는 것과 같으며 사용자 안전을 보장하지 않습니다. 게다가 프론트엔드 암호화 알고리즘이 가역적이라면, js 암호화 방법을 복원하여 암호문을 알 수 있다는 점에 동의합니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿