2011-04-20 6 views
0

현재 새로운 서비스를 구축하고 있으며 백엔드 용으로 PHP를 사용하고 더 중요한 것은 프론트 엔드에 대한 일반 HTTP 요청 대신 AJAX를 사용하는 것입니다. 따라서 첫 페이지 요청이 하나만있을 것입니다.AJAX 기반 서비스 용 인증 프로토콜

이 작업을 수행하는 동안 보안을 설정하는 것이 좋습니다.

문제는 다음과 같습니다. 로그인은 일반 사용자 이름/비밀번호를 기반으로합니다. AJAX 프론트 엔드는 필요에 따라 AJAX 요청을 서버에 보내지 만 불필요한 보안 문제를 피하기 위해해야 ​​할 일은 무엇입니까? 패스워드를 해싱하는 것은 분명히 해쉬에 서버 생성 토큰을 포함시킴으로써 더욱 향상시킬 수 있습니다.

그러나 이것들에 대한 프로토콜은 확실하지만, 그들의 장점을 알고 ... 심지어 그들이 부름받은 곳이나 어디에서 찾을 수 있는지 (서버 자체는 신뢰할 수 있음).

HTTPS를 사용하면이 모든 것이 중복됩니까? 아니면 예를 들어 암호 해싱 여전히 엄격하게 필요한 (이론적 인 질문)? HTTPS를 통해 여전히 프로토콜을 사용하는 것이 중요하고 유용할까요?

http://en.wikipedia.org/wiki/Secure_Remote_Password_protocol 내가 조사해야 할 부분입니까? HTTPS가 SRP를 이중화합니까? HTTPS를 통해 특히 더 적합한 프로토콜이 있습니까?

+0

대답보다는 대답 : AJAX는 여전히 TCP/IP 및 HTTP 전송을 사용합니다. HTTPS가 가장 좋은 방법입니다. – trickwallett

답변

0

PHP 세션을 사용한다면 괜찮을 것입니다. AJAX 호출을하면 서버는 페이지에서 세션 ID가 무엇인지 나타내는 쿠키 페이로드를 보냅니다. 분명히 HTTPS를 통해이 작업을 수행하면 통신을 안전하게 할 수 있습니다.

+0

프론트 엔드는 기억해야 할 모든 것을 기억할 것이기 때문에 특별히 PHP 세션을 사용할 의사가 없습니다. 나는 각 AJAX 요청으로 사용자를 인증하고 API와 유사한 상태로 유지하는 것이 바람직하다. 아마도 나는 그저 생각 만하고, 사용자 이름을 보내고 (각 요청에 대해) 암호를 해싱하면 HTTPS를 통해 충분할 것입니까? – Andreas