ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹기초 9주차
    보안/WEB 2024. 3. 13. 11:40

    (4) WEB2-PHP-1.수업소개 - YouTube

    1990년 웹이 등장했다. html을 수동으로 만드는 것에 대한 불만족이 생겨났다.

    1995년 php가 만들어졌는데 이는 웹페이지를 자동으로 만들어준다.


    (4) WEB2-PHP-2.수업의 목적 - YouTube

    웹사이트의 리스트가 1억개라고 상상하고 이 상황에서 하나의 웹페이지를 추가했을 때 어떤 일이 일어날까?

    php 페이지를 추가하면 리스트를 글목록에도 추가해줘야 한다.

    마지막으로 추가한 항목을 모든 웹페이지에 한 번씩 다 추가해줘야 한다.

    웹페이지가 많아질수록 순수한 html만으로는 생산성의 한계에 직면한다.

    -> php 가 있으면 해결할 수 있다.

    뭔가 바뀐 후 웹페이지의 URL 주소들

    주소를 비교해보자. 1개의 파일인 index.php 로 3개의 웹페이지를 보여준다. 각각의 웹페이지는 ?id는 HTML, CSS, JavaScript 중 무엇인지에따라서 달라진다.

    단 하나의 파일인 index.php 파일이 id 값에 따라 서로 다른 웹페이지를 출력하고 있다.

    단 하나의 파일 변경을 통해 수많은 웹페이지를 한 번에 수정할 수 있다.

    index.php라는 파일 - 데이터 라는 디렉토리 - html css javascript 라는 파일 이 있음

    html css javascript 의 파일을 열면 본문들만 있다. 데이터라는 곳에 php라는 파일을 추가해보면, 웹페이지 글 목록에 php가 추가되고 클릭하면 본문이 출력된다! 우리가 새로운 페이지를 추가하고 싶으면 데이터라는 디렉터리 안에 추가하고 싶은 파일을 넣고 이에 대해 적어주면 끝난다.

    이 기술을 도입하면

    • 수많은 웹페이지로 이루어진 사이트에 에 하나의 내용을 추가하는 것은 쉬운 일이 된다.
    • index.php 파일에 title을 바꿔주면 수많은 웹페이지의 title도 한 번에 바뀐다.
    • 생산성이 향상된다.


    (4) WEB2-PHP-3.PHP 설치 - YouTube

    php는 따로 깔아주는 것이다. 웹서버 운영체제 별로 나뉜다. bitnami를 사용해 웹서버를 설치하자. (추가로 다른 거 설치할 필요 없음.)


    에서 설치하면 된다. 동영상에서 너무 친절하게 알려주셔서 감동...

    도구 실행하고 싶으면 윈도우 탐색기- C드라이브-bitnami-manger/windows 클릭하면 그게 bitnami manager 초록색이 떠있는 거 확인하고 안 떠있으면 선택해서 스타트 눌러주기

    bitnami-wampstack-apache2-htdocs 를 기지로 해서 실습 파일 위치시키기

    그리고 나머지는 따라서 하면 된다.


    (4) WEB2-PHP-3.1.2.PHP 환경 설정 변경 (윈도우) - YouTube

    편한 실습을 위한 방법에 대한 강의이다.

    php가 어디에서 실수가 있었는지 알려주는 기능을 켜주자.

    에러메시지에는 중요한 정보가 포함되어있을 수 있다. 이러한 정보들은 악용될 수 있기 때문에 최대한 시스템에 대해 외부에서 알 수 없도록 숨기는 것이 필요하다. 그래서 display errors 가 꺼져있었던 것.

    opcache 도 0으로 바꿔준다. 파일 수정이 바로 반영되도록 해주어야 하기 때문이다.

    open access log 는 사이트 접속자를 찾을 수 있고 open error log 는 에러가 한줄씩 끝에 기록되어 실제 환경에서 디스틀레이 에러를 끈 경우 파일을 통해 문제점 찾기 가능


    (4) WEB2-PHP-4.PHP의 원리 - YouTube

    웹브라우저와 서버가 상호작용하는 방법

    웹브라우저의 주소창에 index.html을 적어준다면 요청을 받은 서버 컴퓨터에 설치된 웹 서버라는 소프트웨어가 하드디스크나 ssd에 설치된 ht docs 라는 디렉토리에서 파일을 읽어 웹브라우저에 전송한다. 이후 웹브라우저가 화면에 표시해준다.

    이번에는 웹브라우저에 php라는 확장자를 사용하면 웹서버는 확장자가 php인 파일은 자신의 소관이 아님을 안다. 웹서버는 php 파일을 처리할 수 있도록 PHP라는 프로그램에게 위임한다. PHP라는 프로그램이 ht docs라는 디렉토리 안에있는 php 파일을 열어 해석해서 html파일을 찍어낸다. 그렇게 만들어진 html을 웹서버가 웹브라우저에게 전송한다.

    html과 php 파일을 각각 만들어준다. 파일의 페이지 소스 보기를 확인하면 웹서버가 서버에 설치되어있는 파일을 열었을 때 정확히 같다. 주소를 바꾸어 확장자를 바꿔주면 시간이 뜨는데 리로드를 할 때마다 시간이 바뀐다. 우클릭하면 html 코드가 나오는데 리로드할 때마다 적혀있는 내용이 동적으로 바뀌는 것을 확인하 수 있다.

    현재의 시간을 출력하라는 것을 php 문법에 맞게 적어준 것이 echo date('Y-m-d H:i:s'); 이다.

    html은 언제나 같은 정보를 보여주고(정적임) php는 프로그래밍적으로 웹페이지를 생산할 수 있는 능력을 가지고 있다.

    php의 시작과 끝을 알리는 기호는 <?php , ?> 이고 기호의 안쪽은 php의 문법에 따라 해석된다. 그 밖의 내용은 php가 아니라 그대로 출력된다.


    (4) WEB2-PHP-5.PHP의 데이터 타입 - YouTube

    데이터를 의도에 따라 처리하는 것이 중요하다.

    php가 지원하는 데이터 타입 중 숫자와 문자에 대해 살펴보자.

    php가 지원하는 데이터 타입: boolean, integer, float, string 등

    • 숫자: integer, float
    • 문자:string


    (4) WEB2-PHP-5.1.PHP와 숫자 - YouTube

    1. integer (정수): 0, 음수, 자연수를 통틀어서.
    2. float (소수점이 있는 실수)

    php에서 화면에 무언가를 표현하는 방식: echo

    하나의 구문이 끝나면 세미콜론을 찍어줘야 한다.

    127.0.0.1/number.php 치면 나온다.

    echo 말고 print(출력할 값); 을 써도 괜찮다.

    소수점 표현하고 싶은 경우도 마찬가지이다.

    더하기 를 문법적으로는 연산자, 영어로 오퍼레이터라고 한다. 1+1은 2를 표현하고 있다고 할 수 있는 것이다.

    이런 식을 표현식이라고 한다. 빼기, 곱하기도, 나누기도 마찬가지이다.

    산술 계산에 사용되는 연산자는 산술연산자 라고 한다.


    (4) WEB2-PHP-5.2.PHP와 문자열 - YouTube

    php에서 문자를 표현하는 방법

    • string (문자열)

    - single quoted : 작은 따옴표 사용하기

    - double quoted : 큰 따옴표 사용하기

    따옴표 앞에 \ 사용하면 뒤의 기호 역할은 해제되고 순수한 문자로만 사용 가능

    (concatenation operator) 가 있다. 문자 두 개를 결합하고 싶은 경우 . 을 사용한다. 결합 연산자는 좌항과 우항을 결합해서 하나의 문자열로 만들어준다.

    • 몇 개의 문자로 이루어졌는지 알아보는 방법: strlen($string) 형식


    (4) WEB2-PHP-6.PHP의 변수 - YouTube

    php의 변수 문법

    $를 사용한다. 변수 이름 앞에 무조건 $를 붙여줘야 한다.

    변수가 필요한 이유를 알아보자)

    lorem 은 랜덤한 텍스트를 만들어준다. 그냥 샘플 텍스트이다. 텍스트가 정말 길고 특정 텍스트가 수천번 등장한다고 가정해보자. 텍스트를 바꿀 때 변수가 중요한 역할을 한다.

    $name=egoing이라 하고 egoing 이라는 텍스트를 변수화하자. eoging 을 $name으로 바꾸고 . 이라는 결합 연산자를 사용하면 된다. 관심을 한 점으로 모을 수 있다. 변수를 바꿔도 결과를 확신할 수 있게 된다.


    (4) WEB2-PHP-7.1.PHP의 URL 파라미터 - YouTube

    대상에 대한 입력과 출력이 다르다. php는 웹 애플리케이션을 위해 만들어진 언어다.

    개인에게 인사하는 웹페이지를 만들어보자.

    입력에 따라 이름을 바꾸고 싶은 경우 이름의 값을 특정 자리에 출력하게 해서 많은 사람들에게 웹페이지를 만들 수 있다.

    입력값을 url에 따라 준 것이다. 주소의 name 값을 바꾸는 것에 따라 인사할 수 있다.

    파일의 이름 뒤에 입력값들이 오는데 입력값을 구분할 때는 &를 사용한다.


    (4) WEB2-PHP-7.2.URL 파라미터의 활용 - YouTube

    각 페이지에 접근할 때마다 url parameter 값이 달라진다. 각 목록 클릭 시 제목이 동적으로 바뀌도록 해주자.

    새로 파일을 만들어줬다. 클릭할 때마다 주소 바뀜

    URL 아이디에 따라 페이지 제목 바뀌게 하자.


    (4) WEB2-PHP-8.1.함수의 사용 - YouTube

    다른 사람이 만든 함수를 사용하는 방법을 알아보자.

    문자열의 길이를 알고 싶은 경우 strlen 사용 / strlen(계산결과를 반환해주는 프로그램) 도 함수이다.

    텍스트 줄바꿈하고 싶으면 <br> 태그를 사용한다.

    문자열의 모든 줄바꿈 앞에 HTMl 줄바꿈 태그를 삽입할 때 nl2br 사용


    (4) WEB2-PHP-8.2.함수의 활용 - YouTube

    리스트 클릭하면 제목이 바뀌는데 본문도 바뀌게 해보자. 새 디렉토리를 만들자.

    파일을 읽기 위한 내장 함수: file_get_contents

    file_get_contents, id 값 이용해서 입력값에 따라 파일 꺼내서 읽어준다.


    (4) WEB2-PHP-9.제어문 예고 - YouTube

    시간의 순서에 따라 기능이 실행되는데 조건문과 반복문을 만들어냈다. 조건문은 조건에 따라 서로 다른 시간의 순서의 흐름에 따른 작업이 실행되도록 한다. 반복문은 어떤 조건을 만족하는 동안 작업이 반복적으로 실행되게 한다. 시간의 순서를 제어하기 때문에 제어문이라고 한다.

    '보안 > WEB' 카테고리의 다른 글

    웹기초 11주차  (0) 2024.03.13
    웹기초 10주차  (0) 2024.03.13
    웹기초 8주차  (0) 2024.03.13
    웹기초 7주차  (0) 2024.03.13
    웹기초 6주차  (0) 2024.03.13
Designed by Tistory.