일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Database
- writeup
- 구현
- cryptography
- misc
- Web
- 사칙연산
- CTF
- 그리디 알고리즘
- 백준
- C
- Web Hacking
- SuNiNaTas
- 인코그니토
- Text
- Network
- Digital Forensics
- wargame
- php
- 수학
- xcz.kr
- Forensics
- 문자열
- Incognito
- Python
- MySQL
- 정렬
- N0Named
- 써니나타스
- HackCTF
- Today
- Total
목록MySQL (20)
보안을 그리다, 훈이
게시판의 목차를 보여주는 index.php부터 구현하였다. [index.php 소스코드] 게시판 번호 제목 작성자 날짜 조회수 글쓰기 index.php는 게시판 메인 화면이며 글 번호, 제목, 작성자, 날짜, 조회수를 역순으로 출력했다. 게시판이므로 GET 방식이 아닌 POST 방식으로 구현했다. [GET 방식과 POST 방식의 차이] 1. 서로 인코딩 방식이 다르다. 2. GET 방식은 전송속도가 빠른 반면, POST 방식은 보다 느리다. 3. history.back() 사용시 GET 방식은 이전 데이터를 보여주지만, POST 방식은 새로 요청한다. 4. GET 방식은 글자수 제한이 있지만 POST 방식은 글자수 제한이 없다. 5. GET 방식은 URL에 데이터가 출력되므로 보안에 취약하지만, POST..
앞서 공부한 PHP와 MySQL을 다뤄보며 복습도 할겸, 차후 진행할 Web Hacking 실습을 위한 게시판을 구현하기로 했는데.. 4월 25일, 정보처리기사 실기 시험이 있어 일정이 좀 늦춰진 감이 있다. 정처기 개편 이후 문제 난이도가 높아져 합격률이 현저히 떨어진 탓에 시간을 좀 더 할애한 부분도 없지 않다만 가채점 결과는 합격! 출퇴근때마다 가방에 넣어다니느라 정들었던 시나공 대신 이제는 노트북만 들고 다닐 수 있어 좋다 :) 지금부터 개발할 게시판은 보안이라곤 1도 고안하지 않은 매우 취약한 웹앱이다. 추후 웹 취약점에 대해 실습을 통해 공부하며 게시판의 보안성을 향상해 나갈 예정이다. + 게시판의 기본적인 구조(틀)은 Bootstrap과 블로그를 참고하여 구현하도록 하겠다. [게시판 DB 요..
[MySQLi(MySQL Improved Extension)] MySQL의 확장 버전이며, 기존의 함수 방식과 객체 방식 두 가지 형태로 사용이 가능하다. [MySQLi 함수] - mysqli_connect() mysqli_connect([string $host], [string $username], [string $password], [string $dbname], [int $port], [string $socket]) -- host : MySQL 서버 주소 -- username : 데이터베이스 사용자 계정 -- password : 데이터베이스 사용자 비밀번호 -- dbname : 선택할 데이터베이스 이름 -- port : MySQL 서버 포트 번호 -- socket : 소켓 또는 명명된 파이프 데이터..
생활코딩의 [DATABASE2 MySQL - 17.JOIN] 강의 내용을 토대로 작성한 글입니다. 위와 같이 author와 topic 테이블을 구성하였고, 'topic.author_id' column은 'author.id' column과 연계된다. 이 때, 다음과 같이 JOIN(조인)을 사용한다. mysql> SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id; 위와 같이 topic 테이블과 author 테이블의 id 값이 결합되어 출력된다. 관계형 데이터베이스의 중요한 기능으로, 가독성을 높여준다. [SQL JOIN] JOIN은 두 개 이상의 테이블에서 관련성이 있는 column에 기초하여 row를 결합하는 데 사용된다. - INNE..
[데이터 조작어(DML, Data Manipulation Language)] - SELECT mysql> SELECT * FROM [table_name]; 데이터를 추출(조회)하는 조작어이다. - INSERT mysql> INSERT INTO [table_name] (column1, column2, column3, ...) -> VALUES (value1, value2, value3, ...); 데이터를 생성하는 조작어이다. - UPDATE mysql> UPDATE [table_name] -> SET column1 = value1, column2 = value2, ... -> WHERE condition; 데이터를 수정하는 조작어이다. - DELETE mysql> DELETE FROM [table_nam..
[Table의 생성] Table의 행 : row, record Table의 열 : column - SQL TABLE STATEMENTS mysql> CREATE TABLE tbl( ->column_name_1 datatype(length) ->column_name_2 datatype(length) ->... ->PRIMARY KEY(column_name_1) -> ) -- Create table tbl with primary key is column_name_1 [데이터 무결성 제약조건] 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질을 일컫는다. 즉, 데이터 무결성(Data Integrity)을 위해 Database에서는 5가지의 제약조건(Constraint)을 제공한다. NOT NUL..
hooneee.tistory.com/327 포스팅의 명령어를 토대로 Schema를 다뤄보도록 하겠다. [MySQL] DDL(Data Definition Language) & 기본 명령어 [데이터 정의어(DDL, Data Definition Language)] 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 생성, 수정, 삭제, 초기화 등의 데이터 구조와 관련된 명령어들을 일컫는다. - CREATE mysql> C hooneee.tistory.com [CREATE, DROP 명령어] [SHOW 명령어] [USE 명령어]
[데이터 정의어(DDL, Data Definition Language)] 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 생성, 수정, 삭제, 초기화 등의 데이터 구조와 관련된 명령어들을 일컫는다. - CREATE mysql> CREATE DATABASE [db_name]; mysql> CREATE TABLE [table_name]; 데이터베이스, 테이블 등을 생성하는 역할을 한다. - ALTER -- 테이블에 컬럼 추가하기 mysql> ALTER TABLE [table_name] ADD COLUMN [column_name] [column_type]; -- 테이블의 컬럼 타입 변경하기 mysql> ALTER TABLE [table_name] MODIFY COLUMN [column_name] [..
[MySQL] MYSQL은 Oracle과 점유율 1, 2위를 다툴만큼 전세계적으로 널리 사용되는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포/판매하고 있는 관계형 데이터베이스(Database)이다. 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다. 다중사용자, 다중 쓰레드를 지원하고, C, C++, Eiffel, 자바, 펄, PHP, Pyton 스크립트 등을 위한 응용프로그램 인터페이스(API)를 제공한다. 유닉스나 리눅스, Windows 운영체제 등에서 사용할 수 있다. MySQL은 유닉스, 리눅스, 윈도우 등 다양한 운영체제..
[데이터베이스(Database)] 데이터베이스란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미하며, 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. 오늘날 운용되는 가장 공통적인 유형의 데이터베이스 내 데이터는 프로세싱과 데이터 쿼리 작업을 더 효율적으로 실행하기 위해 일반적으로 일련의 표 안에 행과 열로 모델링된다. 따라서 데이터는 쉽게 액세스, 관리, 수정, 업데이트, 제어, 체계화될 수 있으며, 대부분의 데이터베이스는 데이터 작성 및 쿼리 작업에 SQL(구조화 질의 언어)을 사용한다. - Spread Sheet와 데이터베이스 비교 공통점 : 데이터를 표의 형태로 출력해주며 사용자의 편의를 위한 다양한 기능을 제공한다. 차이점 : 데..