업무와 상관없이 두고두고 쓰는 몇가지 쿼리들.. 저장해두고 쓰자 1. 테이블, 컬럼 코멘트 조회 SELECT A.OWNER, A.TABLE_NAME, B,COMMENTS, A,COLUMN_NAME , ( SELECT X.COMMENTS FROM ALL_COL_COMMENTS X WHERE X.OWNER = A.OWNER AND X.TABLE_NAME = A.TABLE_NAME AND X.COLUMN_NAME = A.COLUMN_NAME -- AND X.COMMENTS LIKE '%%' -- 컬럼 코멘트 ) COL_COMMENTS , A.DATA_TYPE , A.DATA_LENGTH , A.DATA_PRECISION , A.DATA_SCALE FROM ALL_TAB_COLS A, ALL_TAB_COMMEN..
문제점 : 서비스 내 에러 페이지 처리 미흡으로 HTTP 오류 페이지가 노출되고 있으며, 이를 통해 해당 서비스 정보를 획득할 수 있다. 해결방안 : 서비스 내 에러 발생 시 통일된 별도의 사용자 지정 에러 페이지를 생성하여 이동하도록 해야한다. 1. error page 생성 원하는 위치에 error_page.html 생성한다. (저는 /usr/share/nginx/html/error_page.html으로 생성했습니다.) 2. nginx.conf 또는 default.conf 파일 변경 server { listen 443; #http(80), https(443) 포트로 나눠져있으면 설정 양쪽 모두 추가 해줘야한다. error_page 400 403 405 500 502 503 504 505 /error_p..
문제점 : 서비스 내 마스킹 처리 부재로 개인정보가 노출 위험성이 존재 해결방안 : 개인정보, 사용자 식별 정보 등 중요한 값은 노출되지 않도록 해야 한다. 부득이하게 중요한 값이 포함되어야 한다면 마스킹 혹은 암호화를 하여야 한다. 1. preg_replace 정규식 이용 치환 함수 function maksing($name){ // 뒤에 두글자 *로 마스킹 $fnl = preg_replace('/.(?!..)/u', '*', $name); return $fnl; } "McDonald" > "McDona**" "감자" > "**" "홍길동" > "홍**" "아이스크림" > "아이스**" 2. substr_replace 문자열 치환 함수 function masking($name){ //index 3번 문자..