요청을 XSS escape하는 것을 도와주는 오픈소스 API가 몇개 있다. 1. commons-text org.apache.commons commons-text 1.11.0 commons-text의 경우엔 아파치 재단에서 만든 "String 처리"를 위한 API를 모아놓은 artifact이다. xsx escape 만을 위한 도구는 아니지만, 여기에도 xss escape를 위한 API가 있다. org.apache.commons.text.StringEscapeUtils#escapeHtml4(String input) 이 그 주인공이다. static method이기 때문에 그냥 쓰면 된다. 이 메서드는 우리가 흔히 아는 "" "\"" , "\'" 등의 문자열을 escape 해서 공격을 막는다. 사실 원래는 An..
azure에서는 비밀번호 등 민감정보를 소스코드에서 제외하는 keyvault를 제공한다. 해당 기능도 패키지가 변경되어 새롭게 구성해야 한다. 현시점 최신버전은 5.10인데, 이건 해당 시점의 최신버전을 쓰면 될 듯하다. pom.xml com.azure.spring spring-cloud-azure-starter-keyvault 프라퍼티도 아래와 같이 변경되었다. spring.cloud.azure.keyvault.secret.property-source-enabled=true spring.cloud.azure.keyvault.secret.enabled=true spring.cloud.azure.keyvault.secret.property-sources[0].endpoint=https://mykeyvaul..
사실 내가 마이그레이션 한 Web Spring Web MVC는 변경이 "거의" 없긴 했다. 아예 없지는 않았다. 요약하면 아래와 같다. 프라퍼티 변경 확장자 매핑 제거 ErrorController 변경 프라퍼티 변경 사실 프라퍼티를 변경하는 것은 크게 어렵지 않다. 왜냐하면, Intellij IDE에서 감지해서 바꾸라고 알려주기 때문이다. spring.resources.* → spring.web.resources.* 삭제된 프라퍼티도 있었다. 확장자 매핑 제거 기존에 아래처럼 excel을 다운로드 받는데 사용하던 코드가 있었다. @Controller public class UserController { @GetMapping("/excel.xls") public String getExcel() { retu..
멀티스레드로 요청을 보낸 횟수를 db에 기록해 집계를 할일이 있어서 비관적 락에 대해 좀 살펴보았다. 내가 궁금했던것은 @Lock(LockModeType.PESSIMISTIC_WRITE) 을 어디에 달아주냐였다. 답은 "SELECT 쿼리를 호출하는 메서드" 였다. public interface StatRepository extends JpaRepository { @Lock(LockModeType.PESSIMISTIC_WRITE) StatEntity findStatEntityById(Long id); Optional findyById(Long id); } 인터넷 예시들을 보면 jpql 같은걸 쓰기도 하는데, 그럴 필요 없이 기본 method에선 해당 메서드는 transaction 안에서만 사용해야 한다. ..
회사에서 azure를 사용중인데, 릴리즈 준비중인 prod 서버에서 특이한 문제가 발생했다. (아래 내용은 모두 실제상황과 유사하게 "재현" 및 "각색" 된 것임을 밝힌다.) 스프링 부트 앱에서 google oauth2 인증시에 아래와 같은 에러가 발생했다. 검색해보니 private IP로 접근해서 ouath2 인증이 제대로 되지 않는 이슈였다. 하지만, 난 사내 dns를 통해 url을 입력해 서버에 접근했고 당연히 내부 ip가 사용되면 안되었다. 개발자 툴로 확인해보았다. (보안상 이유로 key값은 모두 지웠다.) Location header 내 쿼리스트링의 "redirect_uri" 의 값에 내부 ip가 찍히고 있었다. 당시에 사내 oauth2 sso 개발자가 휴가 중이었어서 몰랐지만, 로그인 성공후..
- Total
- Today
- Yesterday
- Thymeleaf
- 알리익스프레스
- 탈세
- Request
- 공익제보단
- 전세사기
- 알리
- 포상금
- 이륜차
- k베뉴
- springboot
- Java17
- 한국교통안전공단
- 토스페이
- springboot3
- 홈택스
- ouath2
- Spring
- 현금영수증
- 부가가치세
- 오블완
- n+1
- tomcat
- 티스토리챌린지
- JPA
- 안전신문고
- Azure
- 광군제
- ORM
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |