일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 시큐어코딩
- 스타일보험
- 스프링
- snowpack
- java#왕초보
- 상속
- 답글
- 버전일치
- kotlin
- SQL
- parcel
- 게시판
- 코틀린
- 안드로이드
- 함수
- 쿠키
- degit
- sub query
- 미니게임
- 숫자
- Spring
- git
- 오버라이드
- 왕초보
- FIle
- java
- webpack
- Spinner
- React
- Android
- Today
- Total
목록Coding (130)
YSHUSH

아이디 중복확인 1. Member.xml 업데이트 id값 가져오기, mapper태그 내에 작성해준다. SELECT COUNT(*) FROM MEMBER WHERE ID=#{id} 2. MemberDao, MemberDaoImpl 업데이트 MemberDao int getId(String id); MemberDaoImpl @Override public int getId(String id) { int count = session.selectOne(ns + "getId", id); return count; } 3. MemberService, MemberServiceImpl 업데이트 MemberService int getId(String id); MemberService @Override public int ge..

회원가입 1. DTO만들기 src/main/java폴더 내 dto패키지 생성 후 MemberDto.java 내에 작성 public class MemberDto implements Serializable{// = 직렬화 private String id; private String pwd; private String name; private String email; private int auth; public MemberDto() { } public MemberDto(String id, String pwd, String name, String email, int auth) { super(); this.id = id; this.pwd = pwd; this.name = name; this.email = emai..

이클립스, sqldeveloper 사용함 1. Dynamic Web Project 프로젝트 만들기 2. 우클릭 -> configure -> Convert to Maven Project 3. pom.xml 업데이트 or 복사 4. WEB-INF에 spring, web.xml 복사하기 5. WEB-INF에 views폴더 만들기 6. src/main에 properties, sqls, log4j 복사하기 7. sqls 안에 있는 .xml에 테이블 요소 업데이트 8. controller, dto, service(interface, class), dao(interface, class)만들기 9. annotation붙이기 -> controller(@Controller), service(@Service{impl에다가 ..

˙인증관리란? ID와 패스워드를 이용한 지식기반의 인증관리에서 고려해야 할 인증관리 정책 패스워드 관리 정책 패스워드 설정, 변경, 재설정, 전송, 저장, 사용기간 등 안전한 패스워드 관리 정책이 수립되어야 한다. 인증시도 관리 정책 인증시도 횟수 제한, 안전한 로그아웃 기능, 다중 로그인 제한과 같은 기능을 구현하여 안전하게 인증 절차가 처리되어야 한다. ˙패스워드 설정 패스워드 설정 시 문자열 정책이 안전하게 적용되어 있는지 점검패스워드 설정 시 안전한 문자열이 사용되도록 입력 문자열이 제한되는지 확인하며, 이러한 제한이 서버와 클라이언트에서 동일하게 적용되는지 진단한다. ▶자바 스크립트로 사용자 측에서 패스워드를 입력받을 때 지정된 패턴의 문자열을 입력받도록 입력값 제한한다. //비밀번호 유효성 확..

˙쿠키란? 쿠키는 웹서버와 브라우저 간에 주고받는 문자열로, 클라이언트의 상태를 관리하지 않는 HTTP 프로토콜을 사용하는 웹 애플리케이션이 클라이언트와의 연속성을 유지하기 위해 사용하는 정보이다. 서버는 응답 헤더에 Set-Cookie: 이름=값 형식으로 클라이언트에게 쿠키 값을 전달하며, 브라우저는 접속하는 서버로부터 받은 쿠키 정보를 Set-Cookie: 이름=값 형식으로 요청 헤더에 포함시켜 서버로 전달한다. ˙쿠키(Cookie) 종류 일반적으로 사용되는 쿠키는 세션쿠키와 영속성 쿠키가 있다. 세션쿠키(Session cookie) - 쿠키 만료일이 설정되어 있지 않음. - 브라우저의 메모리에 저장하여 사용되며, 브라우저를 닫으면 삭제된다. 영속성 쿠키 - 쿠키 만료일이 설정되어 있음. - 만료일 ..

˙ SQL 인젝션이란? 웹 애플리케이션에서 외부 입력 데이터를 삽입하며 DB쿼리문을 생성하고 실행하는 경우, 조작된 입력값으로 데이터베이스로전달되는 쿼리(CRUD)를 변조하여 데이터베이스에 불법적인 데이터 열람, 삭제, 시스템 명령 수행 등이 발생하는 취약점이다. ˙ SQL 인젝션 발생원인 애플리케이션에서 SQL 쿼리문의 일부로 사용되는 사용자의 입력값에 대한 적절한 검증 작업을 수행하지 않고, 동적으로 쿼리를 생성해서 사용하는 경우 발생한다. SQL 인젝션 취약한 사이트의 경우 이미 존재하는 admin 아이디에 대해 쿼리문을 조작하여 로그인 할 수 있다. 아이디: admin'# 비밀번호: # 만을 가지고 로그인 될 수 있다. 이 문제를 해결하기 위해 mysql이나 오라클의 경우 '# 를 붙여 passw..

-- 문제1) EMPLOYEES 테이블에서 부서별로 인원수,평균 급여,급여의 합,최소 급여,최대 급여를 포함하는 -- EMP_DEPTNO 테이블을 생성하라. CREATE TABLE EMP_DEPTNO(count, avg, sum, min, max) AS SELECT COUNT(*), AVG(salary), SUM(salary), MIN(salary), MAX(salary) FROM employees WHERE 1 = 2; -- 문제2) EMP_DEPTNO 테이블에 ETC COLUMN을 추가하라. 단 자료형은 VARCHAR2(50) 사용하라. ALTER TABLE EMP_DEPTNO ADD ETC VARCHAR2(50); -- 문제3) EMP_DEPTNO 테이블에 ETC COLUMN을 수정하라. 자료 형은..

˙CASE == switch문과 비슷하다. SELECT employee_id, first_name, phone_number, CASE SUBSTR(phone_number, 1, 3) WHEN '515' THEN '서울' WHEN '590' THEN '부산' WHEN '650' THEN '광주' ELSE '기타' END FROM employees; -- String str = "hello"; -- String substr = str.substring(1, 4); SELECT 'A' FROM dual; SELECT SUBSTR('hello', 1, 4) FROM dual; SELECT SUBSTR('hello', 3, 3) FROM dual; SELECT employee_id, first_name, phon..

-- 문제1) EMPLOYEES 테이블에서 (Kochhar의 급여)보다 많은 사원의 정보를 사원번호,이름,담당업무,급여를 출력하라. SELECT last_name FROM employees WHERE last_name = 'Kochhar'; SELECT employee_id, first_name, job_id, salary FROM employees WHERE salary > (SELECT salary FROM employees WHERE last_name = 'Kochhar'); -- 문제2) EMPLOYEES 테이블에서 (급여의 평균)보다 적은 사원의 정보를 -- 사원번호,이름,담당업무,급여,부서번호를 출력하여라. SELECT ROUND(AVG(salary)) FROM employees; -- 서브쿼..

˙형식 SELECT 단일 ROW 단일 COLUMN(산출되는 데이터는 한개, 컬럼도 한개) FROM 다중 ROW 다중 COLUMN WHERE 다중 ROW 다중 COLUMN ˙연습 -- SELECT SELECT employee_id, first_name, (SELECT first_name FROM employees WHERE employee_id = 100) FROM employees; -- 이건 안됨 -> 단일행이 아니라 다중 행이기 때문에 SELECT employee_id, first_name, (SELECT first_name FROM employees WHERE salary > 10000) FROM employees; -- 이것도 안됨 -> 다중 컬럼이기 때문에 SELECT employee_id, f..