JAVA 파라미터 세션값을 이용한 강제 데이터입력 해킹 보안 방법 우리는 보통 post나 get 방식으로 파라미터값을 넘기게 된다. 하지만, 이는 프록시 검사를 돌리면 post방식이라 할지라도 어떤 파라미터가 어떠한 값으로 넘어가는지 눈으로 확인할 수 있으며, 이를 가지고 악의적인 해커나 개발자들은 데이터값을 변경해서 미리 데이터를 넣는다던가, 무한 루트를 돌려서 사이트의 부하가 많이 걸리게 할 수 있다. 그렇기 때문에 강제적으로 데이터가 넘어오는것을 막기위해서 세션을 사용해서 화면이 넘어 갈 때 세션값을 부여하고, 입력이 끝난 후에는 지우는 방법을 사용하여, 강제 데이터 입력해킹을 방어해보겠습니다. 먼저, 제가 사용했던 코드를 보겠습니다. 코드를 보시면 popup메소드와 reqPopup메소드가 있는게 ..
[에러 발생]123456789101112131415161718192021222324252627SELECT ROW_NUMBER() OVER(ORDER BY reg_dt DESC) rnum, star, content, TO_CHAR(reg_dt, 'YYYY-MM-DD HH24:MI:SS') AS reg_dt, COUNT(star) AS totalCnt FROM (SELECT star, content, reg_dt FROM tb_survey ) WHERE 1=1 AND TO_CHAR(reg_dt, 'YYYY') = '2019' AND star = '2'; Colored by Color Scriptercs [이유 & 해결책] 위에 쿼리를 실행해보면 ROW_NUMBER 문법안에 있는 reg_dt에 블럭이 쳐진다...
사용자 요구사항 조사 및 관리자 요구사항 통계 기능 개발 진행 완료[날짜 select 할 때]- VO에서 파라미터(날짜) String 형으로 리턴.DB에 넣을 때 date 형으로 넣고 select 문으로 reg_dt 확인 시,DB에 보이는 값은 '2019-05-01' 이런식으로 보이고select 에서 select substr(reg_dt, 0, 4) 와 같은 식으로 연도만 출력하려 하는데 안됨.'2019'로 나오는 것이 아닌 08-MAY 이런 식으로 나옴 => 해결, TO_CHAR를 써서 날짜 포맷을 다시 시켜줘야함=> select to_char(reg_dt, 'YYYY') regyyyy from xxx [HTML을 Excel로 다운받기 기능 만들 때]=> 날짜(date)형은 String으로 parsin..
이미지 업로드하고 난 후에, 업로드된 파일 경로를 찾아가서 보면 파일이 있고 프로젝트 상에서 refresh를 했는데도 파일이 있지만, 프로젝트 실행을 하면 웹화면에서 사진이 안뜨거나 깨져있는 경우. 보통 파일을 업로드하고 프로젝트 상에서 refresh를 하게 되면 파일이 생긴다. 위에 빨간 글 같은 경우에는 정말 삽질하기 쉽상인데.. 나 또한 엄청 삽질해버렸다.. 그 원인은 아래와 같다. 일단, 파일 업로드된 경로와 서버에 올라가는 폴더의 경로가 다르기 때문. 파일 업로드된 경로를 예로 들자면, 프로젝트에서 우리가 올린 파일을 마우스 오른쪽 클릭하여 Properties에 들어가서 Path에 나와있는 경로. 서버에 올라가는 경로는 내pc로 예를 들자면, E:\careers\eGovFrameDev-3.5.1..
Aw, Snap! 에러 해결방법 갑자기 크롬을 열었는데 Aw, Snap! 떴을 때, 크롬 우측 상단에 점 세 개 Click - 도구 더보기 - 인터넷 사용 기록 삭제를 눌러서 캐시(기록)를 삭제하려고 했다. 근데 안 먹힘.. 아무거나 눌러도 계속 아래 화면처럼 Aw, Snap! 그래서 30분에 걸친 해결 방법을 물색한 결과, 해결 완료!! 그 Aw, Snap에러를 해결해보자 먼저, 키보드 좌측 하단에 윈도키 + R을 눌러 실행창을 열기! 열었다면, 위 사진과 같이 msconfig를 입력. ...더보기 * 위키백과 설명을 참고. msconfig는 윈도우 시동 절차의 문제를 해결하는 데 사용하는 유틸리티 소프트웨어. 즉, msconfig는 어떤 프로그램이 시작 프로그램에서 실행되는지 확인 및 수정, 간편한 ..
$.getJSON()을 이용한 중복체크 기능 만들기 아이디나 비밀번호를 사용자가 입력할 경우, 우리는 중복체크 기능을 넣어서 중복을 제외시켜야한다. jquery api에 나와있는 ajax ---> jQuery.getJSON()에 대한 설명 먼저 보자. https://api.jquery.com/jQuery.getJSON/#jQuery-getJSON-url-data-success jQuery.getJSON() | jQuery API Documentation Description: Load JSON-encoded data from the server using a GET HTTP request. This is a shorthand Ajax function, which is equivalent to: 1 2 3..
문제) 아래 문장에서 Media를 대소문자 구분없이 찾기 1 2 3 RegExr was created by gskinner.com, and is proudly hosted by Media Temple. Edit the Expression & Text to see matches. Roll over matches or the expression for details. cs 답 : /\bmedia\b/i 설명 : 정규식은 기본적으로 문장의 앞뒤에 슬러쉬 / / 를 써주게 되고 문장의 끝 /뒤에 i를 쓰게 되면 *** i = [a-zA-Z]와 같은 대 / 소문자를 무시한다. \b로 시작해서 \b로 끝나는 이 \b는 영어로는 boundaries, 경계라는 뜻이다. /\bmedia\b/ 이렇게 쓰게 되면 by| |..
https://regex101.com/ Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript Please wait while the app is loading... regex101.com https://regexr.com/ RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp). regexr.com
ROW_NUMBER() 어떻게 써요? ROW_NUMBER()은 나누고 싶은 곳에서 구역을 나누고(PARTITION BY) 정렬해서 순서(ORDER BY)를 정하거나 - ROW_NUMBER() OVER(PARTITION BY ~ ORDER BY ~ ) 원하는 컬럼에 대해 정렬만 해서 순서(ORDER BY)를 정하는 방법이다. - ROW_NUMBER() OVER(ORDER BY ~ ) 간략하게 ROW_NUMBER에 대한 설명을 보자. * ROW_NUMBER의 문법은 ROW_NUMBER() OVER(query_partition_clause order_by_clause) * ROW_NUMBER는 분석 함수다. * 적용되는 각 행 (파티션의 행 또는 쿼리에 의해 반환되는 각 행)에 1부터 시작하는 order_by..