2017-05-15 7 views
0

GET 요청에서 합리적인 데이터를 전달하는 것에 관한 많은 게시물을 읽었지만 내 필요에 맞는 대답을 찾지 못했습니다.REST : 암호를 확인하기 위해 HTTP 동사를 수정하십시오.

암호 강도를 확인할 RESTful 리소스를 노출해야합니다. 암호가 충분히 안전한지 난 단지 원하기 때문에

GET http://api.domain.com/security/password/[email protected] 

은 내가 GET HTTP 동사가 적합 찾을 수 있습니다.

문제는 클라이언트가 리소스 (즉, URL)에 강제로 전달한다는 것입니다.

일부 동료는 POST을 사용한 다음 데이터 본문에 전달했지만 일부 RESTful인지는 확실하지 않습니다.

+0

POST를 사용할 때뿐만 아니라 https를 사용하는 것이 좋습니다. 그렇지 않으면 모두에게 암호가 노출 될 가능성이 있습니다 – Dijkgraaf

+1

[REST에서 일부 데이터 끝점의 유효성 검사를 위해 [POST 또는 GET?] (http : //stackoverflow.com/questions/41673005/post-or-get-for-a-validation-of-some-data-endpoint-in-rest) – Dijkgraaf

+0

@Dijkgraaf 예 HTTPS를 통해 리소스를 노출하고 있습니다. 문제는 우리의 logaccess가 요청 된 모든 URL을 기록한다는 것입니다. – Toto

답변

0

REST 표준은 HTTP 동사를 사용한다고 말합니다. 그것은 실제로 당신이 특정한 것을 사용하도록 요구하지 않습니다. 그러나 POST를 사용하여 & GET으로 데이터를 검색하는 동사에 대해서는 몇 가지 규칙이 있지만 문제가 발생할 경우 종교적으로 따라야합니다.

다음 기사에서 암호로 GET을 사용하지 말고 POST를 사용하거나 대신 HTTP 헤더에서 무엇인가를 전달할 수 있습니다.

REST Security Cheat Sheet

세션 관리 RESTful 웹 서비스는 세션 기반 인증 중 하나 POST를 통해 세션 토큰을 구축하여 또는 POST 본문 인수로 또는 쿠키 같은 API 키를 사용하여 사용해야합니다. 사용자 이름, 비밀번호, 세션 토큰 및 API 키는 웹 서버 로그에 캡처 될 수 있으므로 URL에 나타나서는 안되기 때문에 URL을 본질적으로 가치있게 만듭니다.