조금은 늦은 나이지만 중학교때 부터 해보고 싶었던 해킹공부를 시작해 본다.
[1] 동영상 강의 정리
1. 웹 기초
웹서버는 실제 파일을 전달하는 역활을 한다.
기본적으로 웹페이지를 클라이언트 에게 보여준다.
URL ( Uniform Resource Locator ) 이라는 규약(약속) 으로 네트워크상에서 파일이 어디 있는지 알려준다.
[Protocol]://[Domain or Ip Adress]:[prot]/[File Path]
위 형태로 웹서버가 띄어져 있는 주소로 갈 수 있다.
웹서버에 WebRoot 지정 시 주의점은 root 경로에 지정하면 안된다.
이유는 URL에 주소만 치면 모든 파일을 다운로드 받을 수 있기 때문에 위험성이 크다.
예를 들어 root디렉토리에 인증키파일이 있다하면 그 정보들도 다운로드 될 수 있기 때문이다.
../ 이 문장은 webroot 상위 폴더로는 접근이 불가능하다. 웰논포트 , 규범, 사회적약속으로 만약에 도메인에 포트를 작성하지 않으면 프로토콜인식 하여 포트를 정해준다.
http -> 80
https -> 443
또한 / File 부분을 작성하지 않으면 index.html 파일을 보여준다.
웹서버는 크게 WEB, WAS, DB 3개로 구성이 된다.
WEB은 정적페이지 리소스
WAS은 동적페이지 리소스
DB는 저장소
라고 쉽게 생각하면된다.
기본적으로 PHP문장을 <?PHP ?> 로 문장을 시작한다.
PHP에서 파라미터 받을 시 $_GET['name'] / $_POST['name'] 을 쓴다.
<?php echo hellow hacking world $_GET['name'] ?>
[2] 스스로 알아보기
1.NAT네트워크
Network Address Translation 약자로 네트워크 주소 변환기인데 이는
사설 IP와 포트번호를 공용 IP와 새로운 포트번호로 매핑해서 인터넷을 통신할 수 있도록
지속적으로 번역해주는 중계시스템이다.
예를 들어 유투브를 본다고 치면 내가 가지고 있는 내부IP를 라우터가
NAT로 공용IP로 바꾸고 유튜브로 요청하고 응답을 받을때
다시 때 공용 내트워크를 보내 통신을 완료한다.
2.submit
form 태그안에서 서버로 전달 할 수 있는 역활을 한다.
<form action="/signup" method="post"> <!-- action은 어디로 보낼지 method는 어떻게 보낼지 -->
<input name="username" />
<input name="email" />
<button type="submit">제출</button> <!-- submit은 보낼지 말지를 결정한다.. -->
</form>
쉽게 말해서 폼안에 있는 input 태그를 서버로 보낸다고 생각하면 쉽다.
[3]설치
1.vmWare
2.terminer
[4] 문제점
1. 도커 컨테이너 실행 ERROR
원인: 실제 컨테이너가 도커에 정지된 상태로 있어서
문제 해결 시도: vmWare NAT설정 확인 -> 이상없음
sudo docker stop [컨테이너 ID]
해결 방법:

[5] 과제
로그인 구현

성공페이지

실패시 알럿 후 로그인 페이지로

로그인 페이지 구현 파일
댓글