html post 전송 예제
다음 예제에서는 이전 예제를 확장하지만 입력 대신 BUTTON을 통해 제출 및 재설정 단추를 만듭니다. 단추에는 IMG 요소를 통해 이미지가 포함되어 있습니다. 예를 살펴 보겠습니다 – 이것은 위의 GET 섹션에서 살펴 본 것과 동일한 양식이지만 게시하도록 설정된 메서드 특성을 사용해 보겠습니다. 이 예제는 LABEL 요소를 포함하도록 이전 예제 양식을 확장합니다. 이 예제에서 클라이언트는 “/index.html”이라는 문서를 요청하는 GET 요청을 발행합니다. HTTP/1.0 프로토콜을 사용하기 위해 협상합니다. 요청 헤더 후에 빈 줄이 필요합니다. 이 요청 메시지에는 본문이 포함되어 있지 않습니다. 브라우저에서 URL을 발급하여 http(예: http://www.nowhere123.com/index.html)를 사용하여 웹 리소스를 얻을 때마다 브라우저는 URL을 요청 메시지로 전환하여 HTTP 서버로 보냅니다. HTTP 서버는 요청 메시지를 해석하고 요청한 리소스 또는 오류 메시지인 적절한 응답 메시지를 반환합니다. 이 프로세스는 아래에 설명되어 있습니다: 이 GET 요청에서 요청 URL “/t.html”은 서버의 문서 디렉터리에서 찾을 수 없습니다. 서버에서 “404 를 찾을 수 없습니다”라는 오류가 반환됩니다.
요소에 할당된 액세스 키를 누르면 요소에 포커스가 부여됩니다. 요소가 포커스를 받을 때 발생하는 작업은 요소에 따라 다릅니다. 예를 들어 사용자가 A 요소에 의해 정의된 링크를 활성화하면 사용자 에이전트는 일반적으로 링크를 따릅니다. 사용자가 라디오 단추를 활성화하면 사용자 에이전트가 라디오 단추값을 변경합니다. 사용자가 텍스트 필드를 활성화하면 입력 등을 허용합니다. 데이터 손실에서 권한 에스컬레이션을 사용하여 전체 웹 사이트 인프라를 제어하는 공격에 이르기까지 끔찍한 결과가 초래할 수 있습니다. 이것은 매우 심각한 위협이며 일부 위생 을 수행하지 않고 사용자가 보낸 데이터를 저장해서는 안됩니다 (예 : mysqli_real_escape_string(사용). 참고. “get” 메서드는 양식 데이터 집합 값을 ASCII 문자로 제한합니다. 전체 [ISO10646] 문자 집합을 다루도록 “post” 메서드(enctype=”다중 파트/양식 데이터”)만 지정됩니다.
데이터는 HTTP 사양에 따라 사후 요청으로 전송됩니다. 이것은 우리가 포스트 양식에서 기대하는 것과 정확히 같습니다. POST 요청 방법은 추가 데이터를 서버에 “게시”하는 데 사용됩니다(예: HTML 양식 데이터 제출 또는 파일 업로드). 브라우저에서 HTTP URL을 발급하면 항상 GET 요청이 트리거됩니다. POST 요청을 트리거하려면 특성 메서드=”post”를 사용하여 HTML 양식을 사용하거나 자체 네트워크 프로그램을 작성할 수 있습니다. HTML 양식 데이터를 제출하는 경우 POST 요청은 요청-URI 뒤에 추가되지 않고 URL 인코딩된 쿼리 문자열이 요청 본문에 전송된다는 점을 제외하면 GET 요청과 동일합니다. 예를 들어 이 백분율 40은 @ 기호의 URL 인코딩 버전이며 이 예제에서는 OPTGROUP 요소를 사용하여 선택 사항을 그룹화합니다. 다음 태그: CSRF 공격은 클라이언트 쪽 스크립트를 웹 페이지에 삽입하여 동일한 방식으로 시작한다는 점에서 XSS 공격과 유사하지만 대상은 다릅니다.
CSRF 공격자는 권한이 높은 사용자(예: 사이트 관리자)의 권한으로 권한을 에스컬레이션하여 수행할 수 없는 작업(예: 신뢰할 수 없는 사용자에게 데이터 보내기)을 수행하려고 합니다.