본문 바로가기

분류 전체보기

(19)
AOP를 활용하여 로그 기록하기 프로젝트 중 보안관련해서 Admin 사이트의 접속 및 활동, 다운로드 등 전반적인 로그를 DB에 적재를 해야했다.페이지별 기능별 로그를 기록하기위한 방법으로2가지가 있었는데,1. 일일히 Controller마다 로그repository를 추가하여 로직구성2. AOP를 활용하여 로그기록페이지나 기능은 많이 없는 Admin 사이트이지만..일일히 비슷한 코드구성을 복붙하기엔 너무 막노동으로 생각해서 AOP를 활용해보기로 결정했다.Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는게 차후 기능추가가 되도 유지보수가 용이할것이라는 판단이었다.주로 사용한 어노테이션Aspect : 주로 부가기능을 모듈화함.PointCut : 적용할 지점 설정.Before 혹은 Around, AfterReturning..
Spring boot 에서 XSS Filter 적용하기 웹 서비스 운영하려면 XSS 필터 적용은 필수다.XSS는 크로스 사이트 스크립팅, 즉 사이트 간 스트립팅이라는 이름의 웹 취약점이다.XSS 로 발생할 수 있는 피해로는1. 쿠키 및 세션정보 탈취2. 악성 프로그램 다운 유도3. 의도하지 않은 페이지 노출공격 구문 예시 대응방법입력 값의 길이 제한replace 등의 함수를 이용한 치환''와 같이 태그에 사용되는 기호를 엔티티코드로 변환적용했던 예시첫째로 StringEscapeUtils가 적용 될수 있도록 build.gradle에implementation 'org.apache.commons:commons-text:1.10.0'의존성을 추가한다HtmlCharacterEscapes 클래스를 추가한다public class HtmlCharacterEscapes ex..
Linux - 신규 서버에 Apache Tomcat 연동하기 -3 이전 과정까지 모두 마쳤다면 (apache페이지와 tomcat  페이지가 정상적으로 뜬다면.) 이제 mod_jk를 설치하고 연동을 시작한다. wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.49-src.tar.gztar -zxvf tomcat-con~cd tomcat-con~/native/./buildconf.sh./configure --with-apxs=/usr/bin/apxsmakemake installll /etc/httpd/modules/mod_jk.so 다들 탭키의 활용은 하실거라 믿는다. tar -zxvf tomcat-con 쯔음에 tap을 눌러 자동완성을 채워주자. /etc/httpd/modules..
Linux - 신규 서버에 Apache Tomcat 연동하기 -2 이제 CUBRID 설치하여 사용자 등록만 해준다면 기본적인 설치는 다 된거같다. useradd cubridpasswd cubrid 설치 전 cubrid 사용자를 만들어준다. su - cubridwget http://ftp.cubrid.org/CUBRID_Engine/10.1_latest/CUBRID-10.1-latest-Linux.x86_64.shsh CUBRID-10.1-latest-Linux.x86_64.shcubrid services start 생각보다 설치과정이 너무 간단했다  이게 맞을까? 싶었지만 아니라면 다시해주지 마인드로 작업을 이어갔다. firewall-cmd --permanent --add-port=8001/tcpfirewall-cmd --permanent --add-port=30000..
Linux - 신규 서버에 Apache Tomcat 연동하기 -1 예전 업무를 보던 중 유지보수를 하던 사이트 고객이 요청을해왔다 신규 웹서버를 구매하여 서버교체를 해야하는데 웹서버를 만들것이며 기본적인 웹서버 구동을 위해 아파치톰캣 연동 및 CUBRID 데이터베이스 설치까지 해달라는 작업요청이 들어왔다 ...난 개발쪽은모르는데 그래도 해달라니 해줘야한다고 하더라... 그래서 했다 DB http://ftp.cubrid.org/CUBRID_Engine/10.1_latest/CUBRID-10.1-latest-Linux.x86_64.shJDK1.8 yum -y install java-1.8.0-openjdk yum -y install java-1.8.0-openjdk-develtomcat yum -y install tomcat* apache yum -y install htt..
Java 구동 시간 체크 서비스를 구축하다보면 제일 중요한 부분이라고 생각한다.Join을 진행한경우, 데이터양이 많은경우 특히 구동시간이 오래걸릴 수 있는데이를 필수적으로 체크해봐야 한다!페이지를 불러오는데 3초 넘게 걸리면 안된다.long number1startTime = System.currentTimeMillis(); //시간 선언System.out.println("number1startTime = " + number1startTime); //1구간long number2StartTime = System.currentTimeMillis(); System.out.println("number2StartTime = " + number2StartTime); //2구간long number3StartTime..
Linux - Bash 스크립트로 사용량을 조회하자 평상시 우리가 서버를 점검하거나 사용량을 확인하려할때 CPU는 top 메모리는 free -mDisk 사용량은 df -h 등으로 많이 활용한다. 하지만... 횟수가 많이 반복될수록 너무 너무 귀찮다 일일히 메모리 계산하는것도df -h 치는것 조차도 귀찮아진다 bashrc 를 사용하여 스크립트파일을 명령어로 등록 후 편안하게 활용하자. vi ~/.mem.sh#!/bin/bash#이 스크립트는 CPU,MEMORY,DISK 사용량을 확인하기 위해 만들어진 스크립트 입니다.# CPU 사용량cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')# 메모리 사용량memUsage=$(free -m | awk '/Mem/{print $3*100/$2}')# Cash 메모리 사용량freemem=..
Linux - Windows와 폴더 공유 Windows 에서 Linux 내 폴더를 공유하기 위해선 samba 를 설치하여 연결할 수 있다 FTP로 받아와도 되지만 개인용 Linux 라면 폴더공유를 통해 좀더 편안하게 파일을 주고 받을 수 있다. yum -y install sambawget http://download.hanbit.co.kr/centos/7/system-config-samba-1.2.100-2.fc20.noarch.rpmyum -y localinstall http://download.hanbit.co.kr/centos/7/system-config-samba-1.2.100-2.fc20.noarch.rpmyum -y localinstall system-config-sambamkdit /lsambachmod 707 /lsambasyst..

반응형