MySQL 데이터베이스에 액세스해야하는 응용 프로그램을 만들고 있습니다. 하지만 사람들이 Java 코드를 디 컴파일 할 수 있다는 것을 알고 있습니다. decompilers에서 액세스하지 않고 데이터베이스에 연결하는 데 정말로 안전한 방법이 있는지 궁금합니다.디 컴파일러에서 MySQL 데이터를 보호하는 방법은 무엇입니까?
0
A
답변
0
JavaEE 응용 프로그램에서 데이터 소스를 응용 프로그램에 저장하고 응용 프로그램 서버에서 연결을 구성 할 수 있습니다.
응용 프로그램은 사용자가 액세스 할 수 있지만 인터넷에 액세스 할 수있는 독립 실행 형 Java 응용 프로그램입니까? 이 경우 데이터 레이어를 다른 위치에 저장되어 있고 웹 서비스를 통해 액세스 할 수있는 다른 응용 프로그램과 분리 할 수 있습니다.
4
짧은 : 아니요. MySQL 서버에 연결하는 응용 프로그램을 배포 할 경우 응용 프로그램이 연결하는 데 사용하는 자격 증명을 추출하기 위해 클라이언트 응용 프로그램을 디 컴파일하거나 디버깅 할 수 있습니다.
MySQL은 주로 신뢰할 수있는 서버 측 응용 프로그램에서 사용하기위한 것입니다. 클라이언트 어플리케이션 (및 액세스 권한이있는 사용자)을 완전히 신뢰할 수 없다면, 어플리케이션이 MySQL 서버에 연결하는 것을 허용하지 마십시오. 대신 클라이언트 소프트웨어가 데이터베이스에서 적절한 작업을 수행 할 수 있도록 HTTP 기반 API (즉, 웹 응용 프로그램)를 만드는 것을 고려하십시오.
코드에 사용자 이름과 암호가 하드 코딩되어 있다는 의미입니까? 전반적인 아키텍처를 조금 더 설명 할 수 있습니까? – stdunbar
"안전한 방법 ... mysql 데이터베이스에 연결"... https://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html – spencer7593
@stdunbar 예, 그것이 내 뜻입니다. 나는 그것을 주위에 하드 코드 된 얻으려고 노력하고있다. – SSync