요청을 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..
지난 포스팅에선 spring용 azure storage api의 스타터에 대해 살펴보았다. 1개의 blob 저장소만 사용한다면 매우 유용하겠지만, 안타깝게도 보통 1~2개정도의 blob은 쓰기 마련이다. 이제 starter를 제외한 azure java sdk로 구현을 해보자. 먼저 artifact는 2개가 필요하다. com.azure azure-storage-blob 12.25.2 com.azure azure-identity 1.11.4 azure-storage-blob 은 저장소를 다루기 위한 용도이고, azure-identity는 저장소에 업로드하기 위해 인증할 때 사용할 용도이다. (로그인에 connection string을 사용하는 경우엔 azure-identity가 필요 없다.) azure sd..
msal4j 도입중에 NoSuchMethodError가 발생했다. 원인은 azure keyvault, spring boot, msal4j에서 사용하는 api가 충돌했기 때문이다. 다행히 스프링부트 앱에 복잡한 기능이 없어서 spring boot 버전을 올려서 무난하게 해결할 수 있었다. 본인의 경우엔 jackson과 netty-common에서 충돌이 났었는데, 메서드나 클래스명이 자주 바뀌어서 버전이 변경되면 참조할 메서드와 클래스가 사라지는게 문제다. 스프링 버전과 각 api의 버전을 잘 체크해서 사용하는 수밖에 없다. https://docs.microsoft.com/en-us/azure/developer/java/sdk/troubleshooting-dependency-version-conflict T..
자바의 InputStream과 OutputStream은 외부와의 I/O를 위한 인터페이스를 제공한다.이번에 다룰 주제인 InputStream은 I/O 중 I에 대한 부분을 다룬다. 대표적인 3가지 사용처는 콘솔과의 표준 입출력, 파일 입출력, 소켓과의 입출력이다. 오늘 다룰 내용은 자바 ee 어플리케이션에서의 inputstream이다. 자바 ee 서버에서는 HttpServletRequest가 존재하고,이 클래스를 통해 inputstream을 가져올 수 있게 되어 있다. 그렇기 때문에, request.getInputStream(); 과 같은 형태로 서블릿 내에서 inputstream을 받아와 사용할 수 있는 것이다.톰캣에서는 CoyoteInputStream이란 이름으로 단일한 형태의 inputstream을..
- Total
- Today
- Yesterday
- k베뉴
- 공익제보단
- Request
- 토스페이
- Spring
- 알리
- springboot3
- JPA
- 광군제
- 홈택스
- 오블완
- 한국교통안전공단
- Java17
- 안전신문고
- Thymeleaf
- tomcat
- 현금영수증
- 전세사기
- n+1
- Azure
- ORM
- 부가가치세
- 탈세
- 포상금
- springboot
- ouath2
- 티스토리챌린지
- 알리익스프레스
- 이륜차
- 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 |