2011-10-20 8 views
0

자바로 멀티 플레이어 게임을하는 데 관심이 있습니다. 해커가 게임 데이터를 수정하는 것에 우려하고 있습니다. 지금 당장 애플릿에서 게임을 실행하고 거기에서 내 MySQL 데이터베이스에 연결하는 데 관심이 있습니다. 나는 C#과 XNA에서 일했기 때문에 Java에 익숙하지는 않지만 아직 애플릿이 얼마나 안전한지 궁금해하고 있습니다. 누군가 브라우저에서 실행중인 애플릿의 게임 변수를 어떻게 든 수정 할 수 있습니까? 어떻게 든 내 데이터베이스에 액세스 할 수 있습니까?자바 애플릿의 변수 수정

+0

아마도 아니요. 서버 데이터베이스 또는 애플릿 변수에 액세스하기 어렵습니다. – Samrat

+0

필자는 애플릿과 서버 및/또는 DB 간의 트래픽에 대해 더 우려 할 것입니다. –

답변

2

물론 기술적으로는 가능합니다. 애플릿을 다운로드하자마자 저장, 압축 해제, 디 컴파일 및 변경이 가능합니다.

실질적으로, 나는 누군가가 신경 쓸지 의심 스럽다. 그러나 사용자가 신경을 쓰는 경우 올바른 방법은 클라이언트의 모든 요청을 처리하기 전에 유효성을 검사하는 방식으로 서버를 작성하는 것입니다.

  1. 당신은 애플릿 MySQL의 자격 증명을 전달할 것 : MySQL의 연결의로

    는 두 가지 문제가 있습니다. 사용자가 데이터베이스에 직접 들어 가지 않도록 안전성을 어떻게 높이려고합니까?
  2. 많은 방화벽이 MySQL 포트로 연결되는 것을 허용하지 않습니다. 해결할 수 있지만 솔루션을 준비하고 있습니까? 대부분의 경우이 문제는 해결하는 것보다 쉽게 ​​피할 수 있습니다.
+0

답변 해 주셔서 감사합니다. 나는 내 상황에서 내가 할 수있는 일이 어떻게 행해지는지 더 읽고있다. 당신이 말했듯이, 내가 시도하고 싶은 것은 무엇이든 시도하려고해도 신경 쓰지 않습니다. 그럼에도 불구하고 더 나은 이해를 얻기 위해 조금 더 읽을만한 가치가 있습니다. – Ted

+0

+1 좋은 답변입니다. * "애플릿에 MySQL 자격 증명을 전달할 것입니다."* DB에 대한 액세스는 서버 측 코드 (예 : 서블릿, ASP, PHP 등)에 의해 조정되어야합니다. 그렇지 않으면 DB가 휴지통이 될 것으로 예상하십시오. –

+0

PHP와 MySQL에 대한 수업을 듣기 때문에 저의 무지를 용서합니다. 어쨌든 내 지식은 여전히 ​​보안과 같은 주제로만 제한됩니다. 나는 WAMP를 설정하고 자바로부터 나는 "conn = DriverManager.getConnection (url + dbName, userName, password);"을 사용하고있다. 및 "rs = stmt.executeQuery ("SELECT ... ");" 그래서 사람들이해야 할 일은 웹 사이트를 통해 계정을 등록하는 것입니다. 그러면 계정에 데이터베이스에 대한 접근성이 제한됩니다. 물론 이것은 자신의 계정과 관련된 값을 수정할 수있는 능력을 의미합니다. 내가 이해할 수없는 곳은 신임장이라는 생각입니다. 누군가 더 설명 할 수 있을까요? – Ted