HTTP Method Get로 개인정보를 보낼 수 있을까요?
다시 왜 안 되는가라고 하면 확실히 근거를 가지고 설명할 수 없다고 생각해 보았습니다
Get이라도 좋을까 생각한 패턴은 다음과 같은 경우입니다.
예를 들면, 회원 등록 기능 등으로 확인 화면으로부터 되돌아가는 버튼을 이용하여 입력 폼으로 천이하는 경우, 입력한 내용을 그대로 유지하고 싶다. 그 때는 HTTPS의 경우라면 Get로 돌아가도 괜찮을까?
Get과 Post의 구분은 어떠한 경우?
Get과 Post의 구분은 다음과 같은 경우에 생각하면 좋을 것 같습니다.
인용: 안전한 웹 애플리케이션을 만드는 방법 p.35
HTTPS에서도 Referer에서 비밀 정보는 누출
https: 에서 http: 로의 링크에서 Referer: 는 보내지 않음 입니다. 이것을 이용해, 누출하고 싶지 않은 URL 를 포함한 호스트 전체를 https 로 제공하면, http: URL 에의 참조가 있어도 Referer: 의 송신을 억제할 수 있습니다.
인용구 : Referrer 제어
그러나 https: 페이지에 Referer: 가 전송됩니다. https: 화하는 것으로 Referer: 가 송신되지 않게 되었다고 안심해 버리는 경향이 있습니다만, 실제로는 대책으로서 불완전하고, 위험합니다.
인용구 : Referrer 제어
해당 페이지에 외부 링크가있는 경우 위의 이유로 Referrer에서 개인 정보가 유출되는 문제에서 POST로 전환하는 것이 좋은 것 같습니다.
다음은 검색 기능이 있는 화면에서 이미지가 표시되는 부분이 있었으므로, 크롬 개발자 도구에서 보면 외부 링크의 이미지에 액세스하여 Referrer에서 검색 매개 변수가 추가되어 보내지고있었습니다
개인정보가 액세스 로그에 남아 있음
Get의 경우에는, 파라미터에 부가한 개인정보가 로그에 기입되어 버리기 위해서, 액세스 로그의 누설에도 신경쓰지 않으면 안 되어 버린다고 하는 곳에서 리스크가 더욱 높아져 버리는 문제가 있는 것처럼 입니다
다음은 실제 웹 서버(Apache)의 액세스 로그이지만 GET 메서드 때문에 매개 변수가 액세스 로그에 남아 있음을 알 수 있습니다.
192.168.11.2 - - [24/Feb/2013:07:16:48 +0900] "GET /hello.php?id=yamada&password=password HTTP/1.1" 200 105 "http://192.168.11.9/login.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
인용구 : 웹 보안 작은 방참고
문헌
사이트
Reference
이 문제에 관하여(HTTP Method Get로 개인정보를 보낼 수 있을까요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shitake4/items/ae870d697b05605a9989텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)