728x90

sql 2

SQL과 NOSQL의 차이

SQL 장점명확하게 정의된 스키마, 데이터 무결성 보장한다.관계는 각 데이터를 중복 없이 한번만 저장한다.SQL 단점덜 유연하다. 데이터 스키마를 사전에 계획하고 알려야 한다.관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있다.대체로 수직적 확장만 가능하다.NoSQL 장점스키마가 없어서 유연하다. 언제든지 저장된 데이터를 조정하고 새로운 필드 추가 가능하다.데이터는 애플리케이션이 필요로 하는 형식으로 저장된다. 데이터 읽어오는 속도 빨라진다.수직 및 수평 확장이 가능해서 애플리케이션이 발생 시키는 모든 읽기/쓰기 요청 처리 가능하다.NoSQL 단점유연성으로 인해 데이터 구조 결정을 미루게 될 수 있다데이터 중복을 계속 업데이트 해야 한다데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 ..

Computer/CS 2024.07.09

SQL Injection

SQL Injection해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법이다.공격 방법인증 우회데이터 노출방어 방법input 값을 받을 때, 특수문자 여부 검사하기로그인 전, 검증 로직을 추가하여 미리 설정한 특수 문자들이 들어왔을 때 요청을 막아낸다.SQL 서버 오류 발생 시, 해당하는 에러 메시지 감추기view를 활용하여 원본 데이터베이스 테이블에는 접근 권한을 높인다. 일반 사용자는 view로만 접근하여 에러를 볼 수 없도록 만든다.preparestatement 사용하기preparestatement를 사용하면, 특수문자를 자동으로 escaping 해준다. 이를 활용해 서버 측에서 필터링 과정을 통해서 공격을 방어한다.

Computer/CS 2024.07.08
728x90