기본적으로 Client와 Server간의 데이터 암호화는 SSL을 이용하는게 정석이다. 부득이한 사정으로 인하여 SSL을 이용하지 못할경우 대안방법으로 RSA 알고리즘을 이용하여 암/복호화를 한다. (SSL 대신 이용해도 된다는 뜻은 아님.) - 필요한 라이브러리 Server : 없음 Client : jsbn.js, prng4.js, rng.js, rsa.js (출처 : http://www-cs-students.stanford.edu/~tjw/jsbn/) - 프로세스 Client Server 1. 로그인 페이지 요청 2-1. 개인키 생성 후 session에 저장 2-2. 공개키 생성 후 view 페이지로 전달 3-1. 아이디/비밀번호 입력 후 submit 3-2. submit event 발생시 Serve..
JSP, NativeApplication, Android 등 어떤 프로그램이건 상관없이 서버측에서는 클라이언트의 비밀번호를 DB에 저장시 MD5, SHA256 등등 hash 알고리즘을 이용하여 저장 하여야 한다. (hash 알고리즘은 복호화가 불가능 하므로 운영자도 회원의 비밀번호를 알 수 없다.) 그중 Bcrypt 알고리즘은 특히 비밀번호 암호화에 특화되어 있다. 일반적인 hash 알고리즘의 경우는 salt값을 따로 관리하지만, Bcrypt의 경우는 salt값을 따로 DB에 저장하지 않아도 된다. jbcrypt라는 라이브러리가 제공되므로 해당 라이브러리를 이용한 기능 구현 방법을 작성 해본다. (암호학 에서는 이미 검증된 알고리즘이 존재하므로 개인이 따로 구현해서 사용하지 말도록 권장한다고 한다.) 기..
이클립스로 개발한 웹프로젝트를 실제 호스팅 서버에 WAR 배포시 주의사항 1. WAR 파일을 tomcat/webapps 아래로 이동 - WAR 파일명은 ROOT.war로 변경하여 이동 2. tomcat/conf/sever.xml의 해당 웹프로젝트의 Context 태그안에 Resource 태그 추가 - name, username, password, url은 상황에 따라 달라진다. 3. 설정 후 서버 실행 -> 종료 -> 실행 해야 정상적으로 적용 된다. - 서버 실행 : tomcat/bin/startup.sh - 서버 종료 : tomcat/bin/shutdown.sh 4. 사이트 수정으로 인한 WAR파일 교체전에 tomcat/webapps/프로젝트/resources/img 폴더는 꼭 백업 해야한다.
[ Dynamic Web Project 로 생성방식 바로가기 ] http://vip00112.tistory.com/17 - Spring Framework로 개발을 하기 위한 project 생성 방법 1. 좌측 Project Explorer - 마우스 우클릭 - New - Project 클릭 2. Spring - Spring Legacy Project 선택 후 Next 버튼 클릭 3. 상단 Project Name 입력 4. Templates에서 Spring MVC Project 선택 후 Next 버튼 클릭 5. package명 설정 후 Finish 버튼 클릭 1) 여기까지 진행시 Maven을 이용한 라이브러리를 다운로드가 자동으로 진행 된다. 2) 프로젝트 - Java Resources - Librarie..
- 필요한 라이브러리 1. simplecaptcha-1.2.1.jar 2. maven일 경우 : 2016.10월 기준으로 현재 maven으로 다운로드 되지 않기 때문에 아래 방법 사용 1) simplecaptcha-1.2.1.jar 파일 직접 다운로드 2) src/main/webapp/WEB-INF/lib 폴더 생성 후 jar파일 이동 3) pom.xml에 dependency 추가 - 다운로드 방식이 아니기 때문에 scope와 systemPath를 추가 작성한것을 유의할것 nl.captcha simplecaptcha 1.2.1 system ${basedir}\src\main\webapp\WEB-INF\lib\simplecaptcha-1.2.1.jar - 프로세스 1. view 페이지 img태그의 src속..
Spring MVC기반 RESTfull 사이트를 개발中.. 이메일 관련한 기능을 추가로 작업해주길 요청 받았다. Spring 프레임워크와 Gmail SMTP를 이용하면 어렵지 않게 해당 기능을 구현 가능 하다. - 추가 요청 기능 1. 회원가입시 이메일 인증 1) 회원정보 입력 전 이메일로 인증 코드 발송 2) 시간내 일치하는 인증 코드 입력 후 다음 프로세스 진행(회원정보 입력) 2. 이메일 기반 아이디/비밀번호 찾기 1) 아이디 찾기: 입력한 이메일로 가입된 정보가 있을시 해당 이메일로 아이디 전송 2) 비밀번호 찾기: 입력한 이메일/아이디로 일치하는 회원 정보가 있을시 해당 이메일로 임시 비밀번호 전송 - 필요한 라이브러리 1. spring-context-support-4.2.5.RELEASE.ja..
mybatis는 xml로 sql을 관리하고 있는데 보통 조금 바꿀때 마다 서버를 재구동 시켜야 된다. 시스템이 클 경우 재시작시 오랜 시간이 걸리고 session 사용시 또 로그인을 해야 하는 등 개발의 흐름이 끊어지는 문제가 많이 발생한다. SqlSessionFactoryBean 클래스를 커스터 마이징 하는 방법으로 해결 가능한 글을 보아서 기록한다. [ 출처 및 페이지 이동 ] http://blog.sbcoba.com/16
1. RESTful 이란 하나의 URI는 하나의 고유한 리소스를 의미하도록 설계 한다는 의미 이다. 기존 : http://simpleBoard.com/sports.htmll?category=baseball 변경 : http://simpleBoard.com/sports/baseball 2. 기존 GET, POST 방식 외에 PUT, DELETE 방식이 추가된다. Create : POST Read : GET Update : PUT Delete : DELETE 3. PUT, DELETE는 form요소에서 정식으로 지원되지 않으므로 아래와 같이 해야 한다. ※ servlet.xml 에서는 PUT, DELETE를 인식 할 수 있도록 filter를 등록 method org.springframework.web.fil..
[ Spring Legacy Project 로 생성방식 바로가기 ] http://vip00112.tistory.com/27 - Spring Framework로 개발을 하기 위한 project 생성 방법 1. 좌측 Project Explorer - 마우스 우클릭 - New - Project 클릭 2. Web - Dynamic Web Project 선택 후 Next 버튼 클릭 3. Project Name 입력 후 Next 버튼 클릭 4. Next 버튼 클릭 5. Context root를 " / " 로 변경, Generate web.xml deployment descriptor 체크 후 Finish 버튼 클릭 6. Project를 Spring 환경으로 변경 1) Project 우클릭 - Spring Tools..
- Total
- Today
- Yesterday