22 lines
982 B
Plaintext
22 lines
982 B
Plaintext
= 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에 정의된 정책을 기반으로 허용된 태그만 가능하도록 처리
|