2016-06-11 5 views
0

나는 PHP 웹 사이트 (www.mywebsite.com)를 운영 중이다. 이제는 실시간 채팅 기능을 추가하여 사용자가 다른 사람들과 채팅 할 수있게하고 싶습니다.socket.io JWT with PHP

웹 서버 (chat.mywebsite.com)와 다른 서버에서 node.js와 socket.io를 실행하기로 결정했습니다.

채팅 기능을 사용하려는 사용자는 www.mywebsite.com을 통해 로그인해야합니다. 로그인하면 채팅 페이지 (www.mywebsite.com/chat)로 전송됩니다. 따라서이 페이지에서 클라이언트는 JWT에 대한 웹 서버에 요청을 게시하고이 JWT를 사용하여 socket.io에서 인증해야합니다.

내 질문은 : JWT가 다른 사람에 의해 도난당한 후 JWT를 socket.io에 전달하면 사용자가 인증 된 서버가 확실히 가짜가됩니다. 그래서이 접근법이 맞습니까? 아니면 제 상황에 대해 다른 방법을 제안 할 수 있습니까? 감사! 누군가가 JWT 토큰에 대한 액세스 권한이있는 경우

답변

1

는 - 그들은 기본적으로 당신이 XSS의 또는 당신의 웹 사이트에 다른 vulns이없는 그의 세션, https://en.wikipedia.org/wiki/Session_hijacking

를 납치, 당신이 걱정해야 뭔가 안 .

단지 socket.io가 메시지를 보내거나 받기 전에 jwt 토큰을 사용하여 사용자를 인증하는지 확인하십시오.