로딩
요청 처리 중입니다...

[PHP] 나만의 CMS 개발기 -31 (CSP 정책 적용)

 [PHP] 나만의 CMS 개발기 -31 (CSP 정책 적용)

안녕하세요. 샌드위치 입니다.

제작하고 있는 CMS는 현재 이미 CSP정책을 적용하여 허용하는 도메인만 리소스를 허용하고 있습니다. 하지만 여기서 더 빡세게 CSP정책을 적용하도록 했습니다. csp 를 사용할때 nonce 를 사용하여 모든 자바스크립트 동작의 실행에 관여를 하도록 하였습니다.

페이지가 랜더링 될때 랜덤한 nonce 문자열을 생성하고, 사용되는 모든 자바스크립트에 nonce를 명시 해주었습니다. 쉽게 말하자면 페이지내 자바스크립트가 실행이 되려면 랜더링시 생성된 랜덤한 문자열 즉 암호로 사용되는 값이라고 생각하면 됩니다.

단점은 사용되는 모든 자바스크립트에 nonce를 명시 해주어야 한다는 것 입니다. 하지만 장점으로는 외부에서의 자바스크립트에 대한 공격에 대한 방어가 가능 하다는 것 입니다.

자바스크립트 이외에도 스타일에도 적용이 가능한데, 문제는 스타일에도 nonce를 적용하면 페이지 내에 존재하는 모든 인라인 스타일은 동작을 하지 않게 됩니다. 무조건 내부스타일이...