인텔리제이에서 jdbc 사용시 아이디, 비밀번호 안전하게 넘기는 방법

2023. 5. 23. 14:41spring

jdbc에서 자바와 db를 연결할 때 dbhost, dbpassword, dbuser를 넘겨줘야 한다.

협업을 할 때 소스코드를 github에 올려야 되는데 password가 노출이 된다면 다른 사람들이 db에 접근할 수 있게 되므로 보안에 치명적인 약점이 생길 수 있다.

 

Map<String, String> env = getenv();
String dbHost = env.get("DB_HOST");
String dbUser = env.get("DB_USER");
String dbPassword = env.get("DB_PASSWORD");

Class.forName("com.mysql.cj.jdbc.Driver");

Connection conn = DriverManager.getConnection(dbHost, dbUser, dbPassword);

자바코드에서는 db_host, db_user, db_password의 정보를 노출되지 않게 작성해주고 인텔리제이에서 

중간에 environment variables에서 

DB_HOST=jdbc:mysql://<aws주소정보 혹은 localhost>:3306/spring-db;DB_USER=<유저아이디>;DB_PASSWORD=<db 패스워드> 형태로 본인의 상황에 맞게 넣어주면 된다.

 

사실 이와 같은 방법은 jdbc에서만 사용하지 스프링에서는 더 좋은 방법이 있기 때문에 잘 쓰이지는 않는 방법이다.

'spring' 카테고리의 다른 글

spring annotation 정리3 @Entity  (0) 2023.01.08
spring annotation 정리2 @Service  (0) 2023.01.08
spring annotation 정리1 @Controller  (0) 2023.01.08
spring field id doesn't have a default value  (0) 2022.12.18