javascript - 如何保证数据库里的信息安全?
世界只因有你
世界只因有你 2017-05-02 09:25:58
0
2
807

没接触过网络安全,请教各位大佬,把用户信息放到数据库后怎么保证安全?

世界只因有你
世界只因有你

모든 응답(2)
phpcn_u1582

이 질문은 큰 문제입니다... 다음 측면부터 시작하겠습니다.

  1. 데이터베이스 권한: 데이터베이스에 연결하기 위해 항상 루트를 사용하지 마세요. 웹 애플리케이션용으로 별도의 계정을 열고 권한을 최소화하세요.

  2. 데이터베이스 비밀번호: 취약한 비밀번호를 사용하지 말고 무작위로 생성된 16자 이상의 비밀번호를 사용해 보세요.

  3. 웹 서버: 데이터베이스와 동일하게 비밀번호를 최대한 복잡하게 만드세요. 루트 계정을 직접 사용하지 마세요. 필요한 경우에만 루트를 사용하세요.

  4. 웹 애플리케이션:

    1. 더 나은 DB 라이브러리나 ORM 라이브러리를 선택하고 매개변수화된 SQL 쿼리를 사용하세요. SQL 삽입을 방지하려면 매개변수를 SQL에 직접 입력하지 마세요

    2. 사용자(백엔드 관리 사용자 포함)의 비밀번호 정보를 직접 저장하지 마십시오. 솔트로 해싱한 후 저장해야 합니다

    3. 가능하다면 HTTPS를 사용해 보세요

    4. HTML을 렌더링할 때 XSS를 방지하기 위해 출력하기 전에 인코딩을 사용해 보세요

    5. 사용자가 제어하는 ​​서식 있는 텍스트 HTML을 출력해야 하는 경우 htmlpurifier와 같은 필터를 사용하여 XSS를 방지하세요

    6. HTTP 동사 의미 체계를 따르고, 추가, 삭제 및 수정 작업에 POST/DELETE/PUT을 사용하고, CSRF 공격을 방지하려면 csrf_token을 추가하세요.

당분간 생각해보면 아직 웹 보안에 있어서 주의할 점이 많습니다. LZ가 직접 보안 컨설턴트를 고용하는 것을 추천합니다.

巴扎黑

먼저 프론트엔드와 백엔드 코드의 보안이 보장되어야 하며, XXS나 SQL 인젝션과 같은 공격 취약점을 피해야 합니다. 둘째, 데이터베이스 서버와 웹 서버가 분리되어야 하는데, 이는 부분적으로만 개선될 수는 없습니다. 보안 성능을 향상시킬 뿐만 아니라 웹사이트의 효율성도 향상시킵니다. 또한, 사용자 정보 중 모든 비밀번호는 데이터베이스에 저장되기 전에 특정 암호화 방법을 사용하여 암호화하는 것이 가장 좋습니다. 이렇게 하면 도난당한 경우에도 실제 비밀번호를 알 수 없습니다. 당신이 그것을 채택하기를 바랍니다!

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿