web hacking(Knockon Bootcamp) 12

[2주차 TIL] KnockOn Bootcamp PHP

PHP의 개념과 특징PHP는 웹사이트 제작에 특화된 c언어 기반의 서버 언어이다. 동적 웹페이지를 만들어주는 역할을 한다.클라이언트가 요청하면 서버에서 PHP와 HTML을 조합하여 동적인 웹페이지 만들어서 보낸다.PHP는 다양한 운영체제와 웹 서버에 지원, 직관적 코드와 코드의 양 적고, 텍스틑 처리 특화된 HTML과 적합한 특징이다. PHP 기본 문법과 변수주석은 #,//,/*  */ 등 있다. PHP의 기본 문법c언어와 동일하게 마지막에 세미콜론(;)으로 끝난다.echo 함수는 c언어와 동일하게 HTML 스트림에 문자열을 출력한다. 변수 선언$변수이름 = 초깃값;PHP에서는 변수 선언이 앞에 달러($) 기호를 사용한다. 자료형은 따로 명시하지 않고 자동으로 결정된다.변수는 스크립트 내 어느곳에나 선언..

[2주차 TIL] KnockOn Bootcamp MYSQL

MySQL의 개념과 특징mysql은 오픈소스 관계형 데이터베이스(RDBMS) 관리 시스템이다. 행과 열로 구성된 테이블(표)로 데이터를 저장한다.클라이언트는 SQL이라고 하는 구조화된 쿼리 언어를 사용하여 데이터 정의, 조작, 제어, 쿼리할 수 있다.MYSQL이 많이 사용되는 것은 무료, 보안, 대용량 데이터 처리 기능, 처리 속도 빠름이라는 특징을 가져서 그럴것이다.  데이터베이스 및 테이블 생성 방법Mysql 기본 사용법mysql -uroot -p : 나의 mysql 계정 접속quit; - 접속종료SHOW DATABASES; - 생성된 데이터베이스 확인use 데이터베이스이름; - 해당 데이터베이스 접속SHOW TABLES; - 테이블의 목록 확인desc 테이블명; - 테이블 정보 보기데이터베이스 명령..

[2주차 TIL] KnockOn Bootcamp Apache

아파치 웹 서버의 개념아파치 웹서버는 리눅스 기반의 오픈소스 웹서버 소프트웨어이다.아파치는 고성능의 HTTP 서버이며, 안정성과 확장성(모듈), 호환성(다양한 운영체제 사용)이 매우 좋다.모듈이라는 개념으로 수많은 기능을 추가할 수 있다. 아파치의 기본 구조와 모듈httpd설정 파일모듈모듈아파치의 주요 설정 파일아파치의 메인 설정 파일인 httpd.conf의 설정요소 httpd.conf의 설정요소ServerRoot - Apache의 설치 디렉토리, Listen - 통신하는 특정 포트 설정LoadModule - 디렉토리 안 모듈 읽어들이고, 사용 가능한 모듈 목록 추가ServerAdmin - 서버 오류 발생 시 클라이언트로 전송하는 오류 메세지가 들어갈 이메일 주소 설정ServerName - 호스트 이름 ..

[2주차 TIL] KnockOn Bootcamp JavaScript

1. 자바 스크립트의 기본 문법자바 스크립트는 한 행에 한 문장 사용하면 세미콜론(;)을 사용하지 않는다.그러나 한 행에 여러 문자을 사용 시 세미콜론(;)으로 구분한다.HTML 내부에 작성할 때 1 정지 currentIndex가 1씩 증가하면서 value의 요소 길이만큼 안넘어가게 설정하였다.그리고 textContent로 values의 값이 200 밀리초씩 변하는 것을 보여준다.

[2주차 TIL] KnockOn Bootcamp HTML 기본 태그

1.HTML 문서의 구조HTML의 기본 문서 구조는 , , - HTML5 문서 선언하는 구문 - HTML5 문서의 시작과 종료를 알린다. 문서의 root 요소이며 언어(lang) 값을 설정할 수 있다. 제목 문단2. 기본적인 HTML 태그들과 사용법텍스트 태그 ~ 태그 - 머리말 태그, 글자 크기는 h1>h2>h3>h4>h5>h6 순이다. - 수평선 삽입 - 문단 사이 구분하는 태그 & - 글꼴 굵게 하는 표시, 은 중요한 텍스트 강조 & - 글자 기울기, 은 중요한 텍스트 강조 - 줄 바꿈 - 글자 밑줄 처리 - 그랒 취소선하이퍼링크 태그a 태그는 기본적으로 href 속성을 이용하여 URL을 입력한다.href ="URL"을 지정하면 웹 사이트 열릴 곳을 target을 지정한다.target의 ..

[1주차 TIL] KnockOn Bootcamp HTML, CSS, JS

HTML, CSS, JS의 기본 개념, 용도, 사용방법, 관계 등등HTML웹페이즈의 기본적인 구조를 만든다. [HTML 태그, 구조]문서 유형 선언 - HTML5 문서 선언루트(root) 요소 ~ - HTML5 문서의 시작과 종료 - 웹페이지 정보를 알리는 곳 ~ - HTML5 문서의 실제 콘텐츠를 쓰는 곳 - 웹페이지 제목 - 제목 태그 - 문단 - 하이퍼링크, href을 이용하여 링크페이지 작성, , - 순서 없는 목록, 각 항목 넣는 태그, 순서 있는 목록 - 사용자 입력 받는 태그 - 레이아웃을 나누는데 자주 쓰임 - 텍스트 특정 부분을 CSS와 함께 사용  CSSHTML로 만들어진 구조에 컬러, 폰트, 레이아웃 등 스타일을 지정하는 방식을 가진 언어이다.웹사이트 시각적으로 보기 편하게 ..

[1주차 TIL] KnockOn Bootcamp, 프록시(Proxy)

프록시란?프록시는 클라이언트와 서버 사이의 중계하는 역할을 한다. 클라이언트의 요청한 정보를 대신 받아서 전달해준다.[프록시의 특징]캐시를 이용하여 인터넷 속도 향상클라이언트 IP 주소를 숨겨 익명성으로 보여줌방화벽 역할을 해주며 악성 웹사이트 차단[프록시 단점]데이터를 암호화하지 않아 중요한 정보를 해킹당할 수 있다.일반적으로 열린 포트를 사용하여 포트를 통해 해킹당할 수 있다.모든 트래픽이 프록시 서버에 거쳐 속도가 느려질 수 있다.무료 프록시 서버는 멀웨어 심어서 개인 정보 탈취당할 수 있다.프록시 서버 프록시 서버가 클라이언트와 서버의 중계 서버가 된다. 프록시 서버가 프록시의 특징을 나타낸다.프록시 서버의 대표적으로 유형이  포워드 프록시, 리버스 프록시 두 가지로 구성한다.포워드 프록시클라이언..

[1주차 TIL] KnockOn Bootcamp, 패킷(Packet)

패킷이란?네크워크에서 데이터를 주고받을 떄 사용되는 데이터 조각이다. 하나의 데이터를 조각으로 나눈 것을 패킷이라고 한다.패킷의 크기는 1000 ~ 1500 byte 정도 된다.패킷의 필요성, 용도[패킷의 필요성]효율성 - 데이터를 통째로 보내면 전송과정 오류 발생시 다시 데이터를 전송하면서 시간 소요, 네트워크 자원 낭비      -> 패킷으로 보내면 손실된 패킷만 보내면 되기 떄문에 효율적이며 시간 소요도 줄어든다.네트워크 자원 - 패킷으로 여러 서버에 분산시켜 보낼 수 있어 네트워크 부담이 줄어들고 트래픽을 균일하게 분배     가능하게 한다.[패킷의 용도]인터넷 - 웹 페이지, 이메일, 파일 전송 등 모든 인터넷 통신은 패킷으로 데이터 전송네트워크 통신 - LAN, WAN에서의 데이터 전송스트리밍..

[1주차 TIL] KnockOn Bootcamp, Cookie & Session

쿠키와 세션쿠키(Cookie)쿠키는 서버에서 클라이언트의 컴퓨터에 저장하는 작은 데이터 파일이다.HTTP에서는 클라이언트의 상태정보를 쿠키 형태로 저장하여 필요할 때 참조하거나 재사용한다. [쿠키의 특징]key-value로 구성되어 있는 데이터 파일이다.구성 요소- 쿠키 이름, 쿠키 값, 유효시간, 도메인, 경로, 보안연결여부, HttpOnly 여부로 구성클라이언트는 300개까지 쿠키 저장 가능, 도메인 당 20개의 쿠키를 가진다.하나의 쿠키는 최대 4KB까지 저장[쿠키의 사용 예시]사이트 로그인 시 "아이디 비밀번호를 저장하시겠습니까?"쇼핑몰 장바구니, 자동 로그인, 이 창을 다시 보지 않음 등 있다.[쿠키의 종류]Session Cookie(임시 쿠키) - 만료기간 설저앟고 메모리에만 저장, 브라우저 ..

[1주차 TIL] KnockOn Bootcamp, HTTP / HTTPS

HTTP(HyperText Transmission Protocol)HTTP은 웹에서 데이터를 주고받는 서버-클라이언트 모델의 프로토콜이다. 즉, 웹 브라우저가 서버와 통신하는 규칙이다. [HTTP 통신]클라이언트가 웹사이트 방문하여 브라우저를 통해 웹서버로 리소스(html, css 등) 요청요청 받은 웹서버는 응답으로 리소스를 클라이언트에게 준다. [HTTP 특징]비연결성(Connectionless) : 처음 연결하고 요청과 응답 이후에 연결이 종료된다.                                                      그래서 매 요청마다 서버와 다시 연결을 해야한다.무상태성(Stateless) : 프로토콜에서 클라이언트의 상태를 기억하지 않는다.                ..