= XSS 방지

== 개요
XSS(Cross Site Scripting)는 JavaScript등으로 작성된 악성 스크립트 코드를 웹 게시판 등에 삽입해 세션을 가로채거나 공격자가 의도한대로 행동하도록 만드는 공격이다.

=== XSS 방지 적용
표준개발라이브러리에서는 HTML태그를 허용하는 게시판에 대해 화이트리스트를 선정하여 해당 태그만 허용되도록 하고 있다.

.사용방법
[source,java]
----
    @Operation(summary = "게시글 상세조회")
    @GetMapping("/posts/{postId}")
    public Post getPost(
            @Parameter("게시글 ID") @PathVariable String postId) {
        Post post =  postService.getPost(postId);
        post.setPostDetail(SdlHtmlPolicy.POLICY_DEFINITION.sanitize( post.getPostDetail())); // <1>
        return post;
    }
----
<1> 게시글 본문을 SdlHtmlPolicy.POLICY_DEFINITION에 정의된 정책을 기반으로 허용된 태그만 가능하도록 처리
