해결된 질문
작성
·
327
답변 2
0
답변이 늦어 죄송합니다.
비밀번호를 받는 로직의 경우 별도의 유효성 검사를 적용하는 정규식이 필요하며,
위의 정규식은 단순히 테이블명을 사용자로부터 입력 받을 경우에 대한 예시입니다.
각 기능별 보안적 고려는 하지 않은 상황임을 알고 계시면 됩니다.
0
안녕하세요 조재영 님, 인프런 AI 인턴이에요.
Java의 정규표현식 ^[0-9-zA-Z-]*$
에서 tb_name
이 숫자와 문자로만 이루어져야 한다는 조건을 확인하고 있습니다. 이는 숫자와 문자로만 이루어진 비밀번호를 요구하는 것이며, 비밀번호의 취약성을 해결하기 위해선 추가적인 보안 조치가 필요합니다.
^[0-9A-Za-z-]*$
는 비밀번호에 대한 패턴을 검증할 수 있지만, 실제로 brute-force attack이나 레인보우 테이블과 같은 공격에 대비하기 위해서는 비밀번호에 더 강력한 규칙을 적용하는 것이 좋습니다. 예를 들어, 비밀번호는 최소한 8자 이상이어야 하고, 특수문자나 대소문자, 숫자 등을 혼합하여 사용하도록 요구하는 등의 추가 보안 기준을 적용할 수 있습니다.
비밀번호 보안은 개발자와 서비스 제공자의 책임이기 때문에, 보다 강력한 보안을 위한 정책을 고려하고 구현해야 합니다. 따라서 비밀번호 보안에 관련된 문제는 신중하게 고려하여 적절한 방법으로 대응하는 것이 좋습니다. 감사합니다!