300x250
반응형

분류 전체보기 197

[Spring Boot] Google reCAPTCHA V2 사용하기

실제 서비스하는 사이트들에서는 무작위한 로그인 시도 또는 회원가입을 막기 위해 reCAPTCHA와 같은 봇 방지 API를 사용합니다. 이 글에서는 google에서 제공하는 reCAPTCHA(리캡차)를 사용해 로그인을 진행하겠습니다. 참고!!! 현재 google reCAPTCHA는 v3 까지 나와있지만 이 글에서는 v2를 사용합니다. 0. 미리보기 - 로그인 페이지에 reCAPTCHA를 등록해보도록 하겠습니다. - 로그인 구조는 아래 그림과 같이 진행될 것 입니다. 1. Google reCAPTCHA V2 생성 - 여기를 클릭하여 [Admin Console]로 이동하여 reCAPTCHA를 생성합니다. - 정보를 입력하여 사용할 reCAPTCHA를 생성합니다. - 도메인은 Local 환경에서 진행할 경우 l..

Back-End/Spring 2023.02.09

[Spring Security][회원가입 및 로그인 예제 추천]

https://u2ful.tistory.com/31 [Spring Security][회원가입 및 로그인 예제 1/9] Spring Security 및 프로젝트 개요 들어가며... Spring Security를 사용하여 간단한 로그인 및 회원가입 어플리케이션 구현을 진행해 보려 합니다. 전체 어플리케이션의 내용은 Spring Security의 내용 보다 다른 기술에 대한 내용이 많아 u2ful.tistory.com 위 블로그에 들어가보면 자세하게 설명되어있습니다. 차분히 따라해보시면 좋을 것 같습니다

Back-End/Spring 2023.02.09

[Spring Boot]war로 배포하기 (Gradle + 내/외장 톰캣)

JSP를 사용한 Spring boot프로젝트에서 gradle + 내/외장 톰캣을 이용하여 서비스 배포하는 과정을 정리하고자 한다. 이전 포스팅(hye0-log.tistory.com/28)에서 WAR를 이용하여 배포하는 방법은 간단하다고 했지만, 사실 그것 외에도 부가적인 작업들이 필요하다. 스프링 부트 애플리케이션을 로컬 - 내장톰캣 - 외장 톰캣순으로 모두 실행시켜 보면서 각각 필요한 설정이 무엇인지 정리할 것이다. 1. build.gradle 수정 war로 빌드하기 위하여 build.gradle 파일을 수정한다. 아래 두 가지 방법 중 아무거나 사용하여도 war로 빌드하는 데에 문제는 없지만, 스프링 문서에서 소개하는 방법은 apply plugin: 'war' 를 추가하는 것으로, 다른 이슈가 없다면..

Back-End/Spring 2023.02.09

[Spring Boot] Spring Security의 동작

Spring Security 란? Spring Security는 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크이다. Spring Security를 사용하면 사용자 인증, 권한, 보안처리를 간단하지만 강력하게 구현 할 수 있다. Filter 기반으로 동작하기 때문에 Spring MVC와 분리되어 동작한다. Spring Security를 이해하기 위해서는 먼저 보안관련 용어를 숙지해야 한다. 접근 주체(Principal) 보안 시스템이 작동되고 있는 애플리케이션에 접근하는 유저 인증(Authentication) 접근한 유저를 식별하고, 애플리케이션에 접근할 수 있는지 검사 인가(Authorize) 인증된 유저가 애플리케이션의 기능을 이용할 수 있는지 검사 SecurityFilterChain 일반적으로..

Back-End/Spring 2023.02.09

[Spring Boot] Spring Security 적용하기

Spring Security 란? Spring Security는 스프링 기반의 어플리케이션 보안을 담당하는 프레임워크입니다. Spring Security를 사용하면 사용자 인증, 권한, 보안처리를 간단하지만 강력하게 구현 할 수 있습니다. Spring Boot + Hibernate + SpringSecurity + thymeleaf + mariadb를 이용해 간단한 회원 가입 및 로그인 기능을 구현해보겠습니다. pom.xml ... 2.1.9.RELEASE ... org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat provided org.springframework.boot s..

Back-End/Spring 2023.02.09

[Spring]Spring MVC 활용

Spring MVC 설정 구조 Maven Project 생성 Spring MVC는 웹에서 돌아가는 프로젝트 임으로 Maven web-app archetype 으로 생성 의존성 추가 servlet , jsp , jstl 의존성 추가. jsp, jstl은 리액트나 뷰같은 프론트 프레임워크를 따로 사용한다면 필요하지 않지만 javax.servlet 은 필수적이다. Spring에서 servlet은 Dispatcher Servlet이 사용되고 Front Controller로써 작동하게 된다. Spring 의존성 spring-context : 스프링 bean context 사용을 위해서 필요! spring-webmvc : spring web mvc 모델을 사용할 예정이여서 추가 ! db 도 사용한다면 spring-..

Back-End/Spring 2023.02.09

[Spring]Log4j 와 slf4j (maven 설정, commons-logging, appender, logger, layout)

참조문서 : https://logging.apache.org/log4j/2.x/ 1. log4j 란? log for java 의 약자로서 로깅을 위한 라이브러리이다. 로깅 라이브러리를 별도로 사용하지 않는다면, system.out.println()으로 할 것이다. 개발환경이야 상관없겠지만, 운영환경에서는 리소스낭비이다. 그렇다고 안쓰자니 에러상황에서 로깅이 아쉽다. 이럴 때 log4j 를 사용하면 해결할 수 있다. 특징 system.out.println() 에 비해 속도가 훨씬 좋다. 멀티스레드 환경에서 사용해도 안전하다. 계층적인 로그 설정과 처리가 가능하다ㅏ. 출력을 콘솔, 파일, 원격, email, DB 등 다양하게 가능하다. 2. slf4j Simple Logging Facade For Java ..

Back-End/Spring 2023.02.09

[Spring]Spring MVC - 게시판 만들기 입문편

스프링에서 제공하는 MVC 프레임워크를 이용해 게시판을 만들어 보자. * 서비스 되는 게시판이 아닌 학습용 예제에 맞는 게시판이다. 보통 필자는 게시판을 만드는 프로세스는 다음과 같이 진행한다. DB에 게시판 테이블 생성하기 테이블 컬럼 값들을 DTO(VO) 객체 클래스에 매핑 CRUD 만들기 SQL문 쿼리 작성하기 MyBatis Mapper 작성(xml) DAO 인터페이스 만들기 DAO implements 메서드 구현 Service 인터페이스 만들기 Service implements 메서드 구현 Controller 클래스 만들기 View 역할의 게시판 페이지 board_list.jsp 코드 작성 그러나 이번 포스팅에서 진행할 프로세스는 게시판 목록 페이지 구현을 위해서 '최소한'의 작업만 진행할 것이기..

Back-End/Spring 2023.02.09

[PHP] json_encode 유니코드 한글 문제 해결

1. 개요 PHP 에서 Array 형 데이터를 JSON 포멧으로 출력하고자 하는 경우 json_encode 함수를 호출함으로써 간단하게 데이터 변환이 가능하다. 단, 해당 함수는 UTF-8 형태의 String 값만을 사용할 수 있기 때문에 iconv 를 사용하여 UTF-8 인코딩을 하여 사용해야만 한다. 그런데 여기서 문제가 발생하는데, 한글 데이터를 사용할 경우 json_encode 함수가 한글을 유니코드 형태로 자동으로 변환해서 출력하게끔 되어 있다. 2. 해결 방안 PHP 5.4 버전 이상을 사용할 경우, 다음과 같이 상수 변수 값을 옵션으로 줌으로써 간단하게 해결이 가능하다. json_encode($arrJson, JSON_UNESCAPED_UNICODE); 그러나, 하위 버전 PHP를 사용하는 ..

Front-End/PHP 2023.02.09
300x250
반응형