본문 바로가기
반응형

IT115

[JAVA] 정규식을 활용한 패스워드 체크 함수(regex Pattern, Matcher) 사용자에게 입력받은 비밀번호가 규칙에 맞는지 체크하기 위한 함수를 알아보겠습니다. 관련 게시글을 꽤 찾아봤는데 실무에서 바로 쓸 정도로 정리된 글은 없는 것 같아 바로 복사해서 적용할 수 있게 정리하겠습니다. Import 정규식 사용에 필요한 regex의 Pattern과 Matcher import java.util.regex.Pattern; import java.util.regex.Matcher; 패스워드 체크 함수 * XSS나 암복호화는 이미 처리된 후 평문으로 서버에서 체크하는 방식입니다. public String chkPasswd(String passwd, String birth) { //반복된 문자 확인 Pattern passPattern1 = Pattern.compile("(\\w)\\1\\1\.. 2023. 10. 20.
[LINUX] SVN 계정 추가 및 패스워드 설정(Cyrus SASL 인증) 요즘은 대부분 GIT을 사용하지만, 아직도 SVN을 사용하는 곳들이 있습니다. 사수는 없고, 계정은 추가해야겠는데 아무것도 모르는 분들을 위해 자세히 알아보겠습니다. 1. 계정 추가 및 평문 암호 설정 2. 암호화된 패스워드 설정(SASL) 1. 계정 추가 및 평문 암호 설정 SVN 서버로 접속 후 SVN_HOME/conf 폴더를 찾아갑니다. 대부분 루트(/) 혹은 /app 경로에 svn 혹은 subversion 폴더가 있을 것입니다. cd /svn or cd /app/subversion 그리고 repository로 들어가서 계정을 추가하려는 프로젝트명의 conf 폴더를 찾아 들어갑니다. repo로 되있기도 합니다. cd /svn/repository/projectName/conf 해당 위치를 찾아 들어가.. 2023. 7. 14.
art1 OpenSSL 버전 확인 명령어(LINUX/WINDOW) 최근 OpenSSL 3.0.0~3.0.6 버전의 보안취약점으로 인해 운영하는 서버의 버전을 확인 후 업데이트를 권고하고 있습니다. 서버에서 OpenSSL 버전을 확인하는 방법을 알아보겠습니다. OpenSSL 버전 확인 명령어 LINUX, WINDOW 동일 // OpenSSL 버전 확인 openssl version OpenSSL 1.0.2, 1.1.1이 나오면 휴 다행이다 하고 "대상아닙니다" 보고하시면 됩니다. (다만 이 버전도 23년 9월까지 지원한다고 하네요) OpenSSL 3.0.0~3.0.6이 나오면 3.0.7로 업데이트 대상입니다. (22년 11월 기준) 패치 다운로드 링크 https://www.openssl.org/source/ https://ubuntu.com/security/notices/.. 2022. 11. 2.
[JEUS] 제우스 서버 수동 실행 방법. 에러: Unable to start the server []. See the server log for more details. 제우스 ADMIN에서 서버를 실행하려하는데, 별다른 반응없이 Unable to start the server []. See the server log for more details. 메시지가 출력될 때가 있습니다. 이런 경우 제우스가 설치된 서버에 직접 접근해 수동 실행하면 해결되기도 합니다. 1. JEUS 수동실행 명령어 // 제우스 홈의 bin에서 실행 /JEUS_HOME/bin/startManagedServer -domain 도메인명 -server 서버명 -u 제우스어드민계정 -p 제우스어드민패스워드 // 예시 /sw/jeus/bin/startManagedServer -domain jeus_domain -server ABCD -u administrator -p password1! domain의 경우.. 2022. 10. 24.
art1 [JAVA] Base64 사용 시 getDecoder() 빨간줄 표시 해결방법: The Method getDecoder() is undefined for the type Base64 업무를 하다보면 간단한 암호화 적용을 위해 Base64를 사용할 때 getDecoder 혹은 getEncoder를 찾지 못하는 경우가 있습니다. 이런 경우 어떻게 해야되는지 알아보겠습니다. 보통 이런 경우는 Base64 예제를 복사한 후 Ctrl+Shift+O를 했는데, java.util.Base64가 없어 아무거나 선택한 경우일 겁니다. java 1.7에서는 java.util.Base64가 없기때문에 decode, encode가 되지 않는 것입니다. java 1.7의 경우 org.apache.commons.codev.binary.Base64 사용하고, getEncdoer 대신 encodeBase64, getDecoder 대신 decodeBase64를 사용해야 합니다. 아래 예제를 참고하시면 문제 해결에.. 2022. 10. 24.
art1 [JS] 여러개의 타이머/스톱워치 만들기 (setInterval 활용) JavaScript에서 스톱워치, 남은 시간 등의 표시가 필요한 경우 하나만 만드는 건 간단한데 여러 개 만들려고 하니 시간이 똑같이 가거나, 하나만 적용되거나, 초가 엄청 빠르게 올라가거나 하는 문제가 생기기 일수입니다. 각 object에 각각의 timer를 걸어줘야되는데 생각보다 간단합니다. setTimeout도 가능하지만, setInterval를 활용해 여러 개의 타이머를 만들어보겠습니다. 이 예제에서는 표현하려는 시간을 초 단위 int로 가지고 있고 00:00:00를 만들어주는 예제이며, 다른 경우는 아래 코드에서 각 timer를 거는 법만 참고하시고 표시 방법은 상황에 따라 응용하시면 됩니다. 1. elements 선택 및 time 설정 아래처럼 다건의 타이머를 만들기 위해서 HTML에 시간표시.. 2022. 7. 14.
art1 [Linux] 심볼릭 링크_바로가기 파일 만들기(ln 명령어) 자주 쓰진 않지만 프로젝트 root 폴더에서 nas로의 접근 등의 이유로 deploy 후 바로가기 파일을 만들 필요가 있을 때가 있습니다. 바로가기 파일을 만드는 ln 명령어에 대해 알아보겠습니다. ln 명령어 // 바로가기 만들기 ln -s 바로갈경로 파일이만들어질경로 // 예시 ln -s /data/upload /app/webapp/project 위 명령어를 실행하면, /app/webapp/project 위치에 /data/upload 로 바로 갈 수 있는 바로가기 파일이 만들어집니다. -s 옵션 외 -f 옵션(바로가기 파일 존재 시 지우고 생성) 말고는 거의 쓰이지 않기 때문에 몰라도 됩니다. 2022. 6. 13.
art1 [Webtob] 시스템 도메인(주소) 변경 방법 자주 있는 일은 아니지만 도메인을 변경해야되는 일이 생길 경우 준비작업과 WEB 서버(webtob)에서 어떤 작업을 해야하는지에 대해 알아보겠습니다. * studyingazae.tistory.com을 예로 들면, studyingazae 부분이 서브도메인이고 tistory.com 부분이 주도메인이 됩니다. * 서브 도메인만 바꾸는 경우는 2번부터, 주도메인이 바뀌는 경우 1번부터 확인하시면 됩니다. 1. SSL 인증서 확인 위 순서대로 SSL 인증서를 확인합니다. 변경하려는 도메인이 *.tistory인 경우는 인증서를 교체할 필요가 없지만 *.mystory.com 등으로 주 도메인이 바뀌는 경우는 인증서도 교체해줘야합니다. 인증서는 $WEBTOB_HOME/ssl 폴더에 있습니다. (home의 경우 서버마다.. 2022. 5. 26.
art1 [Linux] 원격 로컬간 파일 업 다운로드(scp 명령어) 원래 Filezilla를 통해 편하게 다운받았는데, 언제부턴가 sftp로 인한 다운로드가 막혀버렸습니다. 혹시 싶어 scp 명령어를 써봤는데, 이건 되네요. ssh와 동일한 22번 포트를 쓰는 scp 명령어에 대해 간단히 작성하겠습니다. * scp(secure copy)는 ssh와 동일한 22 port를 사용하는 파일 전송 프로토콜입니다. 서버(원격) > 로컬 다운로드 로컬 커맨드 창에서 (윈도우+R > cmd) // 파일 다운로드 scp 유저@IP:원격경로 로컬경로 // 폴더 다운로드 scp -r 유저@IP:원격경로 로컬경로 // 예시 scp user@127.0.0.1:/app/data/test.js d:\download 로컬 > 서버(원격) 업로드 로컬 커맨드 창에서 (윈도우+R > cmd) // 파.. 2022. 5. 26.
art1 [카카오MAP API] 실시간 도로 교통 상황 보기 업무 중 권역 확인을 위해 KAKAO MAP API를 가지고 놀던 중 실시간 도로교통 상황을 검색할 수 있는 기능을 발견했습니다. 바탕화면에 두고 본가나 처가 가기 전에 확인하면 좋을 것 같아 만들어 본 페이지입니다. HTML 삽입 미리보기할 수 없는 소스 피씨나 모바일 웹은 괜찮은데, 티스토리 앱에서는 스크롤이 잘 안 먹네요. 참고: https://apis.map.kakao.com/ 2022. 5. 18.
art1 [JAVA] 자바 스트링 한글 깨짐 (String 인코딩 변환 방법) 수신 데이터를 저장하려고 보니 한글이 깨지는 경우가 많습니다. 콘솔에는 정상적으로 찍히는데 디비에 저장된 데이터가 깨지는거라면 DB 캐릭터셋 문제일 수 있지만 자바 콘솔에서부터 깨지면 인코딩 오류일 가능성이 높습니다. 1. FileReader에 Encoding 추가 2. 직접 String Encoding 1. FileReader에 Encoding 추가 우선 Reader에 인코딩 방식을 추가해주면 됩니다. * FileReader의 경우는 기본 인코딩을 사용하기 떄문에, FileInputStream을 사용해야 합니다. // OS 기본 인코딩 Reader reader = new FileReader(fileName); // 인코딩 적용 BufferedReader reader = new BufferedReader.. 2022. 5. 12.
art1 [ORACLE] "May 8, 2022 12:41:37 AM" TO_DATE하기 인터페이스를 통해 데이터를 받아 저장하는 경우가 많습니다. xml, json 등으로 받은 데이터 중 날짜 정보를 Date 타입의 DB에 저장해야되는데, 데이터 송신부 측 날짜 형식이 지멋대로인 경우가 많습니다. 간단하게 DATE 타입으로 변환하는 TO_DATE 방법을 알아보겠습니다. TO_DATE 예제 [ May 8, 2022 12:41:37 AM ] 2022-05-12 13:01:23 20220512130123 일반적으로 위와 같은 형식으로 오는 경우가 많습니다. 이런 경우는 서버에서 특수문자 replace를 하거나 SQL에서 'YYYY-MM-DD HH24:MI:SS'로 TO_DATE 하는게 익숙합니다. May 8, 2022 12:41:37 AM 하지만 수신된 DATE 형식이 이런 경우면 조금 당황스러.. 2022. 5. 12.