2014-10-19 3 views
3

채팅을 완료하는 데 올바른 방법을 보여줄 수있는 사람이 있는지 궁금합니다.NodeJS 및 Socket.IO 데이터 암호화

귀하의 계정에 로그인 할 수있는 웹 사이트가있어서 실시간 채팅을 구현하고 싶습니다. 내가 찾은 해결책은 Socket.io가있는 NodeJS이지만 문제가됩니다.

다음과 같이 John에게 메시지를 보냅니다. You - server - 그의 ID와 같은 매개 변수와 함께 'message'를 내 보냅니다. - john은 socket.on ('message')을 가지고 수신합니다.

노드 서버의 IP로 노드 서버에 연결할 수 있습니다.

  • 그러나 어떻게 그것을 하나 개의 파일의 생성 및 서버 노드에 연결하고 '메시지'이벤트를 대기하여 대화를 납치 사람을 방지 할 수 있습니다.

  • 노드 js 서버에 대한 연결을 암호화하는 방법이 있습니까?

  • 또는 클라이언트가 웹 사이트에서만 서버에 연결할 수 없게 할 수 있습니까?

  • 모든 메시지를 개인 공개 키로 암호화해야합니까?

  • 그렇다면 어떻게 될까요?

  • NodeJS 채팅 통신의 보안을 설정하려면 어떻게해야합니까?

모든 제안과 답변에 대해 미리 감사드립니다. Peter

+1

인증 체계를 구현하고 SSL을 사용하십시오. – jfriend00

답변

5

Socket.IO를 사용하면 새 세션에 대한 인증을 설정할 수 있습니다. 예를 들어 cookies 또는 JSON web tokens을 사용하여이 작업을 수행 할 수 있습니다. 인증 메커니즘은 change from 0.9 to 1.0 이었으므로 인터넷 검색시주의해야합니다.

암호화를 사용하는 한 https를 사용하는 한 괜찮습니다. https를 사용하는 대신 자신의 암호화 체계를 구현하려고하면 어쨌든 더 위험하고 더 많은 일이 발생합니다.

+0

데이터가 데이터베이스에 암호화되어 있습니까? – TrySpace