본문 바로가기

프로그래밍/JAVA5

Spring Boot 텍스트 Captcha 적용 방법 * Captcha 란?Captcha는 웹사이트와 온라인 서비스의 안전성을 유지하기 위해 필수적인 도구입니다. 사용자가 실제 사람인지 확인함으로써 여러 문제를 예방하고 해결하는 데 중요한 역할을 합니다.Captcha의 주요 목적은 스팸 봇이나 자동화된 프로그램이 무분별하게 접근하지 못하도록 차단하거나 로그인 등의 중요한 작업에서 악용을 막아 보안을 강화합니다. * Captcha 종류Captcha는 크게 3가지 종류로 나뉩니다.텍스트 Captcha: 왜곡된 글자나 숫자를 사용자에게 보여주고, 이를 입력하게 합니다.이미지 Captcha: 여러 개의 이미지 중 특정 조건에 맞는 이미지를 선택하게 합니다. 예) "모든 자전거를 선택하세요."reCaptcha: 구글이 개발한 Captcha로, 단순히 텍스트를 입력하.. 2024. 8. 16.
[JAVA] charset에 따른 bytes 길이 구하기 Java에서 문자열의 바이트를 가져와서 문자열을 substring 해주는 기능을 만들었는데 로컬에선 정상적으로 작동하지만 운영에서는 기능이 작동하지 않았습니다. 해당오류는 문자열의 바이트를 가져올때 길이가 로컬과 서버가 달라서 발생한 오류입니다. tempStr.getBytes().length; 로컬은 utf-8인데 서버는 euc-kr 으로 charset이 달라서 발생한 이슈로 utf-8로 인코딩해주면 정상적으로 계산됩니다. tempStr.getBytes("utf-8").length; 또는 tempStr.getBytes("euc-kr").length; ※ 참고 utf-8 : 한글 3바이트 / 영문, 숫자, 공백, 특수문자 1바이트 euc-kr : 한글 2바이트 / 영문, 숫자, 공백, 특수문자 1바이트 2023. 5. 29.
[JAVA] 파일 업로드 이미지 Quality 변경하기 이미지 파일을 업로드하면서 용량을 줄이고 싶을 때는 ImageWriteParam을 사용하여 변경할 수 있습니다. 먼저 변경할 file을 선언하고 BufferedImage를 사용하여 불러옵니다. File file = new File("/path/img.jpg"); BufferedImage image = ImageIO.read(file); OutputStream os = new FileOutputStream(file); ImageOutputStream ios = ImageIO.createImageOutputStream(os); Iterator writers = ImageIO.getImageWritersByFormatName("jpg"); if (!writers.hasNext()) { throw new Ill.. 2023. 2. 18.
[JAVA] 자바8에서 자바11로 버전 변경하기 기존에 자바8을 사용하고 있었는데 새로 만들려는 프로젝트가 자바11로 변경되어 버전 변경이 필요해졌습니다. * 자바11 설치 Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 로 이동해 본인의 환경에 맞는 운영체제의 jdk를 설치해줍니다. (설치 시 오라클 계정이 필요합니다.) * 환경변수 설정 자바11 설치가 완료되면 미리 설정해둔 JAVA.. 2022. 8. 16.
[JAVA] 결제모듈 세션 만료 오류 이니페이 결제 모듈 붙이고 나서 결제 완료 페이지로 넘어가면서 자꾸 세션 만료되는 증상이 발생합니다. @RequestMapping(value = "/myp/resDetail") public ModelAndView resDetail(@RequestParam Map requestMap,HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView("/myp/resDetail"); if(requestMap.get("id").equals("") && requestMap.get("id").equals(null)) { response.sendRedirect("/myp/resLi.. 2020. 8. 24.
반응형