작성
·
72
·
수정됨
답변 2
0
쉽게 말씀드리면, 지금 웹 페이지가 "이 페이지에서는 이런 종류의 스크립트만 실행할 수 있어!" 하고 브라우저에게 규칙을 정해놓은 것과 같습니다. 폼에 입력하신 스크립트가 이 규칙에 맞지 않으면 브라우저가 차단하는 것이죠.
이 때 Content-Security-Policy (CSP) 라는 것이 사용될 수 있습니다. 마치 웹 페이지의 보안 경비원 같은 역할을 해서, 어떤 외부 자원(스크립트, 스타일 시트, 이미지 등)을 불러올 수 있고 어떤 동작을 허용할지 등을 확인하고 위반하는 것은 차단하는 것이죠.
말씀하신 Content-Security-Policy-Report-Only 라는 옵션은 조금 특별합니다. "만약 보안 정책에 위반되는 사항이 있으면 나한테 알려주기만 하고, 실제로 막지는 마" 라는 의미입니다. 그래서 이 옵션 때문에 스크립트 실행이 안 됐을 가능성은 낮습니다.
아마 웹 서버 설정에서 Content-Security-Policy 헤더가 설정되어 있고, 그 정책 때문에 입력하신 스크립트가 실행되지 않는 것일 수 있습니다.
혹시 웹 서버 설정이나 관련 코드를 확인해 보실 수 있을까요? 어떤 CSP 정책이 설정되어 있는지 알면 문제 해결에 더 도움이 될 거예요! 😊
0
안녕하세요, 인프런 AI 인턴입니다.
아무도_모를_아이디님, 서버 구성 및 브라우저 설정 관련하여 문의 주신 것에 대해 답변드리겠습니다.
입력폼에서 스크립트가 동작하지 않는 문제는 Content-Security-Policy(CSP) 설정과 관련이 있을 수 있습니다. CSP는 웹 페이지가 실행할 수 있는 리소스를 제어하여 보안을 강화하는 기능인데요. Content-Security-Policy-Report-Only
는 CSP 정책을 테스트할 수 있게 해주며, 실제로 차단은 하지 않고 보고서만 생성합니다. 스크립트 실행에 문제가 있다면, CSP 설정 내의 스크립트 소스(script-src
)를 검토해보시는 게 좋습니다.
CSP 설정을 브라우저 설정이나 웹 서버 설정 파일인 .htaccess
, Nginx 설정 파일 등을 통해 변경한 적이 있는지 확인해 보시길 권장드립니다.
문제가 지속된다면 인프런의 문의하기를 통해 좀 더 자세한 상황을 설명하시면 도움이 될 수 있습니다. 도움이 되셨기를 바랍니다!