2012-12-09 2 views
1

누군가 내 문제에 대한 지침을 줄 수 있습니까? 저는 게임 (CryEngine)을 쓰고 있습니다. 사용자 이름과 암호를 포함한 데이터를 데이터베이스에 저장하고 웹 페이지에 표시 할 수있는 서버에 보내는 방법을 알아야합니다. 플레이어 "통계"를 표시합니다. 사용자 이름과 암호로 시작하는 것이 가장 좋기 때문에 다른 것들은 정말로 암호화되어 있어야합니다. 하지만 해커가 통계를 변경하는 것이 더 어려워 질 수 있습니다.C++에서 안전하게 데이터를 보내시겠습니까?

그럼 어떻게하면 좋을까요? C++에 대한 내 방식을 알고 있고 잠시 사용 해왔다. 플레이어의 살인과 XP 등을 저장하고 캡처하는 시스템을 이미 만들었지 만,이 비트는 좀 더 까다로워 보인다. BOOST와 OpenSSL을 많이 사용 하겠지만, 이전에이 라이브러리를 사용하지 않았거나 보안 시스템을 만들지 않은 것 같아서 약간 혼란 스럽습니다. 어떤 도움이나 일반적인 지시 사항도 대단히 감사합니다!

+0

여기서 뭐라 구요? 네트워크를 통해 암호화 된 데이터를 보내시겠습니까? –

+0

비밀번호를 안전하게 전송할 수있는 경우에도 비밀번호를 DB에 저장하지 마십시오. 안전하게 해시로 저장하십시오. – Voo

답변

3

오픈 SSL이 단색으로 들립니다. 여기를보십시오 : http://www.ibm.com/developerworks/linux/library/l-openssl/index.html.

거의 모든 암호화 라이브러리를 사용할 수 있지만 (자신의 글을 더 잘 쓰지 않는 것이 좋습니다) 클라이언트/서버이므로 프로토콜/시스템을 사용하여 정확히이 작업을 수행하도록 설계되었으므로 가장 좋은 방법은 openSSL입니다. 나머지는 안전한 종류의 응용 프로그램 (Java EE)을 실행하고 일종의 데이터베이스에서 항목을 처리하는 보안 서버입니다. 그런 다음 원하는 웹 언어를 선택하여 데이터베이스 항목을 검색하십시오.

추신 : 모든 헤드 샷이 항목이므로 예를 들어 라운드의 최종 결과를 전송하거나 X 분마다 한 번 전송하십시오.

0

HTTPS를 사용하는 것이 좋습니다.

libcurl에 대한 링크 및 인터넷의 요리 책 예제를 사용하면 몇 분 또는 몇 시간 내에 클라이언트 부분을 준비 할 수 있습니다. 수작업으로 OpenSSL을 손에 익히려면 처음에 OpenSSL을 사용하는 데 며칠 또는 몇 주가 걸릴 수 있습니다.

서버 부분에는 게임의 기존 웹 서버를 사용할 수 있습니다. 귀하의 게임 입니다. 그렇지 않습니까? 사용자는 웹 브라우저를 통해 통계에 액세스 할 수 있습니다.

점수 업데이트 메커니즘을 보호하려면 crypt과 같은 일반 암호화 API와 코드에 숨겨진 키를 사용하여 플레이어의 점수 업데이트 암호를 난독 화/난독 화합니다. 키는 궁극적으로 클라이언트 시스템에 상주하며 디버거를 사용하여 복구 할 수 있기 때문에 암호화가 아닌 난독 화입니다.

+0

그래서 libcurls 용도는 정확히 무엇입니까? 모든 데이터를 파일에 저장 한 다음 libcurl을 사용하여 서버로 보내겠습니까? 그것은 어떻게 작동할까요? –

+0

'libcurl'은 HTTP/HTTPS 클라이언트입니다 (FTP 및 기타 프로토콜). 'libcurl' [here] (http://curl.haxx.se/libcurl/)에 대한 모든 것을 읽을 수 있습니다. 특히 [this one] (http://curl.haxx.se/libcurl/c/postit2.html) 및 [this one] (http://curl.haxx.se/libcurl/c/https)와 같은 예제를 살펴보십시오. .html). –

관련 문제