서버 (내가 프로그래밍 한)와 통신하는 클라이언트 프로그램을 만들고 있습니다. 나는 주사위를 굴리는 나 자신을위한 작은 게임을 만들고 있는데 서버도 그렇다. 높은 수치를 얻은 사람은 누구나 승리합니다. 그러나 내 코드 내에서 사용자가 단추를 누를 때 서버 명령을 보내고 서버가 응답 한 내용을 돌려 보내 GUI 창에 표시 할 수 있습니다. 그러나이 방법은 매우 안전하지 않습니다. 예를 들어 사람은 jar 파일을 간단하게 디 컴파일하여 항상 12로 굴릴 수 있습니다. 두 롤이 함께있는 유일한 장소 (사용자와 서버)가 사용자 화면이기 때문에 게임을 평가해야합니다 클라이언트로부터, 분명히 안전하지는 않습니다. 내 게임을 더욱 안전하게하려고 노력 중이며 2 가지 옵션을 발견했습니다.Java 코드, 보안 성
난독
- 사람이 사용하기 매우 쉬운 알고하지 않는 한, 나는 그들이 거의 GUI를 내가 쉽게 할 수있는 "팝업과 함께 오지로, 그 중 하나를 설정하는 방법을 알아낼 수 없습니다 "
에 내 .jar 파일이 .exe 인 바인딩 솔직히 시간을 잘 모릅니다
- 이게 안전 해. 두 가지 (주로 분명히하지 않는 바이러스를 만들기위한)를 하나의 .exe 파일에 "바인딩"할 수있는 프로그램이 있습니다. 내 .jar 파일을 .exe 파일로 바인딩 할 수는 있지만 .exe 파일을 .jar 파일로 다시 역 컴파일 할 수 있는지, 그리고 .java 파일로 다시 역 컴파일 할 수 있는지 여부는 여전히 알 수 없습니다. 그런데
또 다른 보안 문제는
사용자는 항상 서버의 IP 주소를 알아낼 수 있습니다. 네트워크 트래픽을 살펴보십시오. – Ragnar123
감사합니다. 그렇다면 ip 명령을 무시하면 서버 명령을 침입으로부터 자유롭게 유지하는 보안에 더 많은 것이 있습니다. – k9b
클라이언트/서버 프로그래밍의 규칙 # 1 : ** 클라이언트를 신뢰하지 마십시오. **. 어떤 언어로든 클라이언트를 "보안"할 수는 없습니다. 원하는 보안 방법을 통해 원하는대로 시도 할 수 있지만 최종 결과는 동일합니다. –