Security/Web Hacking

SSF : 데이터 베이스, MySQL, PHP

whtRy0u 2021. 8. 27. 18:09

DataBase : 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합

중복된 데이터 제거, 자료 구조화 → 효율적으로 처리할 수 있도록 관리

 

DBMS : Database Management System

사용자의 요구에 따라 정보를 생성해 주고 데이터 베이스를 관리할 수 있게 해주는 소프트웨어.

데이터의 종속성, 중복성의 문제를 해결하기 위한 시스템으로 모든 응용 프로그램이 공용할 수 있도록 함

데이터베이스의 구성, 접근 방법, 유지관리에 대한 모든 책임을 짐

 

DB 특징

  • 실시간 접근 : 사용자 데이터 요구의 즉시 응답 가능
  • 계속적 변화 : 데이터의 삽입, 삭제, 수정을 통해 최신 데이터를 동적으로 유지
  • 내용 기반 참조 : 데이터를 참조할 때 데이터가 주소나 위치가 아닌 내용으로 참조
  • 동시 공유 : 여러 이용자가 동시에 원하는 데이터 공유
  • 데이터 독립성 : 데이터의 논리적 구조를 변경시켜도 응용 프로그램은 변경되지 않음

MySQL : 전 세계적으로 가장 많이 이용되는 오픈 소스 데이터베이스

 

MySQL 특징

  • 전 세계적으로 가장 많이 이용됨
  • 다중 사용자, 다중 쓰레드 지원
  • 다양한 프로그래밍 언어를 위한 API를 지원해 줌
  • 다양한 운영체제에서 사용 가능

PHP : 동적 웹 페이지를 만들기 위해 설계된 프로그래밍 언어의 일종

 

PHP로 작성된 코드를 소스 문서 안에 넣으면 PHP 처리 기능이 있는 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성.

PHP 코드와 HTML을 별도 파일로 분리하여 작성하는 경우가 일반적, PHP를 PHP-FPM을 통해 실행하는 경우가 늘어남

 

장점

직관적이기 때문에 1인 웹 개발에 많이 사용됨, HTML파일과  PHP파일을 하나의 파일로 사용할 수 있음

 

단점

업데이트를 거듭하면서 간결함이 사라짐, 보안에 취약함

 

Client-side : 클라이언트에서 직접 처리하는 것. 서버 값을 변경해도 실제 서버에서는 대부분 바뀌지 않음

Server-side : 클라이언트에서 정보를 받아 서버에서 직접 처리하는 것. 서버가 중요한 중요한 정보를 처리