프로그래밍언어/Java
[Java] 자바 1.8 설치 및 환경변수 설정
자바 1.8 설치 및 환경변수 설정 다운로드 페이지 https://www.oracle.com/kr/java/technologies/javase/javase8u211-later-archive-downloads.html 8uxxx가 다양하고 뭘 받아도 상관없다 개인의 OS에 맞게 exe파일을 다운로드 받아준다 나는 jdk1.8.0_281인 8u281로 다운로드 설치 다운로드된 exe파일을 실행시켜 설치를 하고나면 C:\Program Files\Java\jdk1.8.0_281 이 폴더가 생성되어있을 것이다 환경변수 설정 윈도우 키를 누르고 "시스템 환경 변수" 라고 입력하면 제어판 내 편집 창을 바로 킬 수 있다 환경 변수 버튼 클릭 아래 시스템 변수 새로 만들기 버튼 클릭 후 JAVA_HOME이라는 친구를 ..
[Java] 이미지(File)를 Base64로 변환하기
이미지를 Base64로 변환하기 서버에 저장되어있는 이미지를 웹화면에 뿌려주어야할 때 base64로 변환하여 표현하는 방법을 사용한다 이 값을 만들기 위해 필요한 로직을 알아보자 📌 Parameter 1. 파일의 경로 filePath 2. 파일명 fileName 📌 Return 1. base64 문자열 base64Img 📌 Code public String imageToBase64(String filePath, String fileName){ String base64Img = ""; File f = new File(filePath + fileName); if (f.exists() && f.isFile() && f.length() > 0) { byte[] bt = new byte[(int) f.length..
[Java/보안] 403, 404 등 응답 에러코드 노출 방지
웹 주소에 의도하지않은 경로를 입력하면 404 Error 혹은 별도의 에러페이지를 확인할 수 있다 404, 403 등 에러코드가 노출되는 에러페이지를 막는 것도 하나의 보안 요소인데 별도의 에러페이지는 web.xml에서 설정해주거나 redirection을 통해 보여지도록 설정한다 하지만 보여지는 것 이외에 응답 헤더 정보에 에러코드가 노출된다는 것도 주의해야한다 있을법한 경로를 주소에 입력하여 존재하는 경로라면 403 Forbidden 존재하지않는 경로라면 404 Not found 를 확인할 수 있어서 경로 내 다른 파일들이 노출될 수 있기 때문이다 🍋 해결방법 별도의 에러페이지에 한줄만 추가해주면 다음과 같은 취약점을 방지할 수 있다 이 코드는 403, 404 등등 어떤 코드라도 2..
[Java] 범위 난수 생성 Math.random()
Math.random()을 썼는데 같은 수만 나온다???? 주의해야할 점..... 어제 엄청나게 멍청한 짓을 하고 헤맸다.... 그게 바로 이 Math.random() 친구 ㅋㅋㅋ 🎨사용법 자바에서는 난수 생성을 위해 Math.random() 를 사용한다 사용법은 아래와 같다 int randNum1 = (int) (Math.random() * 10); // 0~10의 범위 중 랜덤으로 1개 int randNum2 = (int) (Math.random() * 899) + 100;// 100~999의 범위 중 랜덤으로 1개 Math.random()은 0이상 1미만 0.xxx.. 로 만들 수 있는 범위에서 랜덤인 값을 생성하는데 그 값에 원하는 범위의 최댓값을 곱해주어 랜덤 추출이 가능하다 rand..
[Java/보안] 에디터 XSS 방지하기 - Jsoup 사용법
에디터 XSS 보안 취약점 조치 🎈 개요 보안 취약점 점검으로 현재 이용중인 에디터 Summernote 사용시 XSS 공격에 취약하다는 결과를 받았다 이 XSS(크로스사이트 스크립팅)가 어떻게 발생하는지 예를 들자면 위지윅 에디터를 기반으로 글을 작성할때 태그를 포함한 Text 정보가 DB에 저장되는데 이 때 Text 정보를 변조해 이런 정보를 끼워 넣어 강제적으로 스크립팅을 실행시킬 수 있는 취약점이 생길 수 있다 즉, CKEditor, SmartEditor 등 HTML기반의 에디터를 쓴다면 꼭 고려해야하는 보안 이슈라는 것 각 에디터에서 자체적으로 XSS를 방지하는 기능을 제공하기도 하지만 서버로 넘어가는 패킷을 가로채 데이터를 변조할 수 있으니 서버단에서 확실히 잡아줘야했다 웹 프록시 툴 B..