2012-06-20 6 views
1

사용자 인증을 위해 MySql 데이터베이스에 직접 연결하는 Swing 응용 프로그램이 있습니다.Swing과 MySql의 씬 클라이언트 사이의 보안 문제

  • 응용 프로그램의 비트 코드를 다운로드
  • 연결 정보를 인터넷에서 사용할 수는 정적 변수

내가 인증을 처리하기 위해 서버를 프로그래밍 한 것을 알고에 하지만 초기 요구 사항은 인증 사용 사례를 언급하지 않았다

내 질문은 : 응용 프로그램을 obfuscating 연결 정보를 인코딩하는 것만으로 충분합니까?

답변

1

당신은 그들이 모호함을 통해 보안에 대해 말하는 것을 알고 있습니다! (힌트 : 전혀 보안이 아닙니다.)

암호화하십시오 (서버 측 구성 요소가 없어 보이기 때문에 이것을 수행 할 수있는 방법이 없습니다). 또는 당신이 말한 것처럼 인증 서버 측을 수행하십시오.

1

아니요, 대부분의 사람들은 바이트 코드를 리버스 엔지니어링하거나 디 컴파일하여 변수를 볼 수 있습니다. 직접 해보고 고급 사용자가 숨긴 것이 없다는 것을 알 수 있습니다.

실제로이 경우에는 클라이언트와 데이터베이스 사이에 인증을 처리 할 서비스가 필요합니다.

서비스에는 데이터베이스에 대한 액세스를 허용하거나 거부 할 사용자 계정이 있습니다.

편집 :

시도 this 디 컴파일러를 사용하여이 작동하지 않습니다 직접 참조하십시오.

0

나는 빠르고 더러운 것을하고 싶었지만 결국에는 올바른 일을하는 것이 너무 많이 걸리지 않을 것이라는 것을 깨달았다. 내가 한 일은 이며, 서버 측, 서버 및 클라이언트 측에서 Java 소켓을 통해 통신하는 것을 DAO에 노출시킨다.

그런 다음 클라이언트에서 직접 DAO를 호출하는 대신 메서드 이름을 String으로 전달하여 서버에서 메서드를 호출합니다. 그리고 반영의 도움으로, 외관은 DAO에 올바른 방법을 부릅니다.

문자열을 인코딩하고 보안 토큰을 추가해야한다고 생각합니다.

    -