2013-07-03 2 views
0

Java 및 MySQL을 사용하여 클라이언트 - 데이터베이스 응용 프로그램을 만들고 싶습니다. 내가 아는 한, Java는 디 컴파일 될 수 있으며 클라이언트에서 MySQL을 직접 사용하면 데이터베이스 자격 증명이 노출됩니다.MySQL 데이터베이스가있는 Java 클라이언트

사용자는 데이터베이스 자격 증명을 알아낼 수 없어도 MySQL 서버를 사용하여 Java 클라이언트를 어떻게 만들 수 있습니까?

+0

암호화 된 String에 저장할 수 있습니다. 사용자 자격 증명을 제공하도록 사용자에게 요청할 수 있습니다 ... – MadProgrammer

+0

[이] (http://stackoverflow.com/questions/442862/how-can-i-protect-mysql-username-and-password-from-decompiling) 대답 –

+0

MySQL이 응용 프로그램과 함께 로컬로 실행되는 경우에는 ** 액세스 **를 방지 할 수있는 방법이 없습니다. –

답변

1

웹 응용 프로그램을 만드는 경우 서버 구성 파일에 데이터 소스를 만들 수 있습니다. 그렇게하면 데이터베이스 자격 증명이 서버 파일 자체에 있고 java 파일에서 데이터 소스 이름을 사용할 수 있습니다.

0

클라이언트는 연결하기 위해 데이터베이스 자격 증명을 알아야합니다.

클라이언트의 경우 서버에 API이 있어야하며 데이터베이스 자체에 연결해야합니다. API는 필요한 모든 것을 숨기고 심지어 RDBMS 유형과 독립적입니다. Client-server model 여기에서

0

앱을 리버스 엔지니어링하고 데이터베이스 자격 증명을 얻기 위해 타사로부터 사용자를 완전히 구할 수있는 것은 없습니다. 앱을 어떤 형태로든 하드 코딩하지 마십시오.

귀하의 문제에 대한 가장 적절한 해결책은 승인의 취향을 추가하는 것이라고 생각합니다.

앱과 데이터베이스 (SOAP 등의 서비스 레이어 또는 REST API 등) 사이에 레이어를 추가하고 사용자별로 사용 ​​권한을 제한 할 수 있습니다. 또 다른 옵션은 mysql의 권한 관리를 사용하는 것이다.

희망이 도움이 될 것입니다.

관련 문제