데이터베이스 비밀번호 스토리지는 안전합니다 : 사전 처리 없음
사용자 비밀번호 해시를 데이터베이스에 저장하면 개발자는 종종 사전 프로세싱을 위해 Escape_string () 또는 addslashhes ()와 같은 기술을 사용하는 것을 고려합니다. 그러나이 접근법은 필요하지 않으며 숨겨진 안전 위험을 유발할 수 있습니다.
왜 비밀번호를 전송할 필요가 없습니까? <..>
해시 전에 암호를 전송하면 보안이 향상되지 않습니다. 해시 프로세스 자체는 콘텐츠에 관계없이 비밀번호의 보안 저장을 보장합니다. 해시 알고리즘은 특정 문자를 특수 문자로 간주하지 않으며 암호를 정리하기 위해 트라이가 허점에 도입 될 수있는 모든 동작이 있습니다.
암호의 잠재적 보안 위험 사전 처리
청소 비밀번호는 추가 보안 문제가 발생할 수 있습니다
불필요한 복잡성 :
불필요한 코드를 청소하면 오류 또는 취약점을 도입 할 수 있습니다.
호환성 문제 :
청소 방법이 해시 비밀번호를 저장하는 데 사용되는 메소드와 일치하지 않으면 암호 확인이 실패 할 수 있습니다.
암호 처리의 모범 사례
해시 전에 암호를 정리하지 마십시오.
보안 해시에 대한 password_hash () 및 password_bcrypt 알고리즘.
해시 후 Varchar (255) 또는 텍스트 후에 비밀번호를 저장하여 향후 다른 해시 방법에 적응할 수 있도록 텍스트.
청소 방법 및 그 영향 예
"나는"디저트 토핑 "& a
!"과 같은 암호에 공통 청소 방법을 적용합니다!
method | 결과 |
td align = "left"> trim () "나는"디자인 토핑 "& a
|
htmlentities () "나는"디저트 토핑 ""a & lt; "(특수 문자가 인코딩 됨) |
htmlspectchars () | htmleentities () |
addSlashes () | "i \ 'm a \"디저트 토핑 \ "& a ! "(이미 대중 교통 문자를 추가)
|
strip_tags () | "I I 'm a " "& a!"
결론
해시 전에 사용자가 제공 한 비밀번호를 전송하는 것은 불필요하며 보안 위험을 초래할 수 있습니다. 위의 모범 사례를 따르면 개발자는 암호가 안전하고 효율적으로 저장되도록 할 수 있습니다.
|
위 내용은 데이터베이스 저장소를 해싱하기 전에 비밀번호를 정리해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!