Initial commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
= 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에 정의된 정책을 기반으로 허용된 태그만 가능하도록 처리
|
||||
Reference in New Issue
Block a user