

이번 강의 시간을 통해 해시태그 검색 기능 구현을 모두 완성하였는데, 구체적인 기능을 먼저 기록하고자 한다. 프로젝트 설계에 따르면, 해시태그는 각 게시글마다 부여되어 있는데, 해시태그 검색 페이지에 접근하게 되면, 최초에는 아무런 게시글 리스트가 조회되지 않은 화면이며, 해당 페이지의 상단에는 모든 해시태그를 중복 없이 리스트 형태로 보여준다. 각각의 해시태그에는 링크가 걸려 있는데, 원하는 해시태그 하나를 클릭하게 되면, 해당 해시태그를 달고 있는 게시글 목록이 게시판 테이블에 모두 조회되며, 해당 게시글 리스트는 정렬과, 페이징 기능 또한 구현된 상태이다. 해시태그 뷰는 유저의 관심사에 따라, 특정 해시태그에 해당하는 게시글을 한 눈에 볼 수 있다는 점에서 사용자 경험을 개선하는 요소라는 생각이 들었다. 사이트를 개발하여 운영하고자 하는 입장에서는 구현해놓으면 꽤나 좋은 아이디어라는 생각이 들었다.
또한, 테스트하는 과정에서 Spring Security 가 제공하는 CSRF 기능에 대한 소스코드 부분이 나와 이 부분을 따로 구글링하여 학습하는 시간을 개별적으로 가졌다. CSRF는 보안적인 내용을 담은 부분이지만, 웹 어플리케이션을 운영 및 개발하는 프로그래머라면, 당연히 관련 이슈를 마주할 수밖에 없기에 반드시 공부하고, 넘어가야 하는 개념이라고 생각했따. 사이트 간 요청 위조라고도 불리는, CSRF는 Cross-site request forgery의 줄임말로써, 웹사이트 취약점 공격의 하나이며, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 생성, 삭제, 수정 등 특정한 행위를 특정 서버에 요청하게 하는 공격을 말한다. 즉, 사용자가 특정 웹 페이지에서 "안녕하세요~" 라는 게시글을 등록하는 요청을 서버에 보냈지만, 해당 요청을 가로챈 공격자는 해당 서버에 "아이디 삭제" 요청을 보내는 행위를 하는 것이다. 이러한 공격기법을 막기 위해, 서버는 CSRF 토큰을 발행하여, 해당 토큰을 유효하게 보유한 요청의 경우에만 데이터 작업을 수행하도록, 보안을 강화하는 방법이 있는데, 해당 부분은 추후에 Spring Security를 학습하는 과정에서 더욱 상세하게 공부해야겠다는 생각이 들었다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.