2017-02-15 6 views
0

HTTP GET 메서드는 https://www.example.com/users?id=1과 같이 URL을 통해 데이터를 전송합니다. HTTPS를 사용하면 연결은 안전하지만 링크의 중요한 데이터는 클라이언트가 요청한 링크를 처리하는 서버 uppon에 계속 기록되어 나중에 해커가 얻게되는 비밀을 노출 할 수 있습니다.REST GET 메서드를 보호하는 방법?

웹 서버에 기록 될 수 있으므로 링크에 아무 것도 저장하지 않습니다.

그러나 REST는 CRUD 작업에서 "읽기"로 GET을 사용하여 데이터를 검색합니다.

그래서 질문은 입니다. 어떻게 REST에서 보안 GET 호출을 할 수 있습니까?


편집 : 한 가지 예 : OWASP는 URL 주소에 API 키를 포함하지 말한다, 그러나 GET 요청에 전송 된 모든 데이터가 URL에 배치되어 있기 때문에, 는 어떻게에 API 키를 보낼 것입니다 내가 URL 자체에 배치 할 수 없기 때문에 다른 사용자의 GET 응답을 인증하는 서버가 있습니까?

OWASP에서는이를 달성하는 방법을 설명하지 않습니다.

+0

중요한 데이터가 실제로 무엇인지 구체적으로 설명해야합니다. 데이터의 종류가 다르면 다양한 종류의 보호가 필요합니다. – DaSourcerer

+0

나는 기록 된 경우 데이터가 유출 될 수 있음을 의미합니다. GET을 통해 전송되는 내부 데이터를 보호하는 방법은 중요하지 않지만 GET을 안전하게 사용하는 방법은 중요합니다. – mFeinstein

+0

나는 그것을 이해했다. 다시 : 어떤 종류의 데이터? – DaSourcerer

답변

2

EDIT : 예 : OWASP는 URL 주소에 API 키를 포함하지 않지만 GET 요청으로 전송 된 모든 데이터는 URL에 저장되므로 API 키를 서버로 보내려면 어떻게해야합니까? URL 자체에 GET 할 수 없기 때문에 다른 사용자가 GET 응답을 승인 할 수 있습니까?

모든 데이터가 URL에 지정되어야한다고 잘못되었습니다. 실제로 HTTP 헤더에 들어가는 많은 것들이 있습니다! URL에 API 키 대신 Authorization 헤더를 사용해야합니다.

+0

새로운 소식입니다. REST 웹 프로그래밍에서 바닐라 자바 ​​스크립트 및 jquery에서 본 모든 AJAX 요청은 서버용 GET URL의 모든 데이터를 전달했습니다. – mFeinstein

+0

@mFeinstein k 이제 무엇을 찾아야할지 압니다. – Evert

+0

네, 고마워요! – mFeinstein