프롤로그메인 강의가 시작되었고, 영상 강의가 제공되었다. 일단 보면서 따라 할까 했는데, 개념 중요한 건 정리하고 가는 게 맞는 거 같아서 정리한다.메리 크리스마스.. SQL InjectionSQL 구문을 주입할 수 있는 취약점이다.사용자의 입력값을 어떠한 검수도 하지 않고 그대로 쿼리에 바로 넣어서 실행하게 되었을 때 발생하게 되는데, 데이터베이스에서 쿼리를 임의로 실행하여 원하는 값을 추출할 수 있게 된다. 로그인 페이지로부터 사용자 id와 pw 를 입력받는 폼이 있다고 가정해보자.그리고 POST요청을 하게 되면 서버로부터 id와 pw를 그대로 받아가게 될 것이다.SELECT * FROM users WHERE id=‘$user_id’ and pw = ‘$user_pw’이런 코드가 있다고 쳤을 때,..
프롤로그거의 다 됐다.2024.12.22 - [KnockOn] - [3주차 TIL] KnockOn Bootcamp PHP 게시판 수정 및 삭제 [3주차 TIL] KnockOn Bootcamp PHP 게시판 수정 및 삭제프롤로그저번 글에서는 게시판 생성 및 조회를 진행했었다.2024.12.22 - [KnockOn] - [3주차 TIL] KnockOn Bootcamp PHP 게시판 생성 및 조회 [3주차 TIL] KnockOn Bootcamp PHP 게시판 생성 및 조회프롤로그저번 글2024taesan-smj.tistory.com여기서 게시판 수정 삭제를 했었고, 그 해당 코드는https://github.com/Vak-kas/php/tree/board2 GitHub - Vak-kas/php: knockon ..
프롤로그저번 글에서는 게시판 생성 및 조회를 진행했었다.2024.12.22 - [KnockOn] - [3주차 TIL] KnockOn Bootcamp PHP 게시판 생성 및 조회 [3주차 TIL] KnockOn Bootcamp PHP 게시판 생성 및 조회프롤로그저번 글2024.12.22 - [분류 전체보기] - [3주차 TIL] KnockOn Bootcamp PHP와 MySQL 연결, 회원가입과 로그인 [3주차 TIL] KnockOn Bootcamp PHP와 MySQL 연결, 회원가입과 로그인프롤로그이제 진짜로 php와 MySQLtaesan-smj.tistory.comCRUD 중에서 Create 와 Read를 진행한 것이다.이제 Update와 Delete를 진행할 것이다. 진행중인 코드는https://gi..
프롤로그저번 글2024.12.22 - [분류 전체보기] - [3주차 TIL] KnockOn Bootcamp PHP와 MySQL 연결, 회원가입과 로그인 [3주차 TIL] KnockOn Bootcamp PHP와 MySQL 연결, 회원가입과 로그인프롤로그이제 진짜로 php와 MySQL연결을 해보자. 로컬환경 MySQL 설치여기서부터 다시 맥북으로 넘어갔다가 다시 만들고(여러 군데에서 작업하기 위함)brew install mysql해서 mysql을 설치한 후에, mysqltaesan-smj.tistory.com여기서 만든 회원가입, 로그인 기능파일들이 너무 많아서 복잡해서 login이라는 폴더 만들어놓고 경로 재설정해두었다https://github.com/Vak-kas/php/tree/login2 GitHu..
프롤로그이제 진짜로 php와 MySQL연결을 해보자. 로컬환경 MySQL 설치여기서부터 다시 맥북으로 넘어갔다가 다시 만들고(여러 군데에서 작업하기 위함)brew install mysql해서 mysql을 설치한 후에, mysql -u root -p 로 들어가서CREATE DATABASE knockon;이렇게 입력을 해주고show databases;를 해주면이렇게 데이터베이스가 설치되었다.저렇게 knockon 이라는 데이터베이스 생성했다고 보면 된다. 이게 맥북이랑 윈도우랑 번갈아가면서 작업하기 때문에, 모든 환경에서도 똑같이 적용시켰다고 일단 보면 된다.윈도우에서도 적용시켰으면 일단 준비 끝. 깃허브에 올려놨었던 데이터를 git clone한다https://github.com/Vak-kas/php.git..
프롤로그PHP 개념이랑 데이터베이스 연동, apache2 연동만 알아보고, 바로 이제 게시판 만드는 프로젝트 진행해보자. PHPPHP(Hypertext Preprocessor)는 서버 사이드 스크립팅 언어로, 웹 개발에서 동적인 웹 페이지를 생성하는데 사용한다.PHP는 HTML 코드 안에 삽입되어서 서버에서 실행이 되고, 그 결과를 클라이언트에게 전달한다. 이 PHP가 데이터베이스와의 연동, 세션 관리, 파일 처리 등 다양한 기능을 할 수가 있다. 웹 브라우저에서 PHP 코드가 실행되는 것이 아니라, 서버측에서 PHP 코드가 실행되고 나온 결과를 처리해서 HTML 결과로 클라이언트로 전송한다. 그래서 PHP코드가 사용자에게 노출되지 않도록 하여 보안을 강화할 수 있다.그리고 동적으로 사용이 가능하다. ..
프롤로그오늘도 빠르게 달려보자. MySQL이란?오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)이다. 데이터를 테이블 형식으로 저장하고, SQL(Structured Query Language)을 사용하여 데이터를 관리 하는 시스템이다. 웹 개발에서 데이터를 저장하고, 관리하는데 널리 사용되며, Linux, Apache, MySQL, PHP/Python/Perl 에서 중요한 역할을 한다.정리를 하자면, MySQL은 데이터들을 테이블에 저장하는 관계형 데이터베이스(RDBMS)이고, 각 테이블들은 행과 열로 구성되어 있다. SQL문을 사용하여 데이터를 쿼리하고 수정할 수 있다.이름에서부터 MySQL, SQL을 쓰는건데, 많은 양의 데이터를 처리할 수 있고, 데이터베이스 서버를 확장할 수 있다. Ubun..
프롤로그시험이 끝났다. 내일 프로젝트 발표 2개 하면 이제 종강인데, 그 전까지 해야할 일이 많은데, ...일단 블로그라도 빨리 작성해보자. Apache아파치는 가장 널리 사용되는 오픈 소스 웹 서버 중 하나이다. Apache HTTP Server (아파치)는 웹 페이지를 제공하는데 사용되며, HTTP 프로토콜을 통해 클라이언트에 데이터를 전달하는 역할을 한다. 리눅스에서 아파치 설치 방법sudo apt updatesudo apt upgrade로 일단 최신 버전으로 업데이트 해주고그 다음sudo apt install apache2로 아파치를 설치할 수 있다.설치가 됐는지 확인하려면sudo systemctl status apache2를 입력해보면그 다음에, 방화벽 열어준 다음에, 해당 아이피:80 ..
프롤로그HTML은 뼈대, CSS는 꾸미기, JS는 동작... HTML(HyperText Markup Language)웹 페이지의 구조를 정의하는 언어이다. 텍스트, 이미지, 링크, 표 등을 배치한다 CSS(Cascading Syhle Sheets)웹 페이지의 디자인과 스타일을 정의한다.텍스트 색상, 글꼴 배경, 레이아웃 등을 조정하고특정 태그나 클래스, ID에 스타일을 적용한다.반응형 디자인을 사용할 떄 적용되기도 한다. JavaScripts(JS)웹 페이지의 동작을 담당한다.버튼 클릭시 동작을 하게 한다거나, 서버와 통신을 한다거나...사용자 입력을 검증할 때도 사용한다. 이전에 공부했던 주소 첨부https://github.com/Vak-kas/Front_End_Practice GitHub -..
프롤로그시험공부 언제하지...프로젝트 언제하지.. 프록시중간 다리 역할이라고 보면 된다. 프록시란 클라이언트와 서버 사이에 위치하여 중간에서 요청(Request)과 응답(Response)을 중계하는 역할을 하는 시스템이다. 사용자의 네트워크 요청을 대신 처리하거나 필터링 하고, 서버에서 반환된 데이터를 사용자에게 전달한다.나무위키에 프록시를 검색하면프락시가 맞다고 하긴 하는데, 뭐 그건 중요한 게 아니니까.대리라고 나와있다. 그니까 이것을 컴퓨터 용어로 가져온다면, 요청 응답을 대신 해주는 애. 정도로 이해하면 될 것 같다.그렇다면 당연히 클라이언트와 서버 중간에 위치하고 있을 것이고, 대신 통신을 받아줄 것이다. 프록시 종류프록시는 포워드 프록시와 리버시 프록시 등등으로 나누어져 있다. 포워드 프..
프롤로그패킷...데이터 덩어리..와이어샤크.. 패킷패킷이란 네트워크에서 데이터를 전송할 때 사용하는 작은 데이터 단위이다. 그러니까 데이터를 보낼 때 해당 데이터를 패킷이라는 단위로 잘개 쪼개서 전송한다는 건데, 데이터를 조각으로 잘개 쪼개고, 그것을 상대한테 보낸다음에, 받은 데이터 조각들을 다시 재조립해서 원래 데이터로 만드는 것이다. 그 데이터 조각 하나하나를 패킷이다. 그럼 왜 패킷으로 나눠서 보낼까?보통 아스키 코드가 1바이트(8비트)를 사용한다. 근데 Hello만 보내도 40비트(5바이트)를 사용하는건데, 한글문서에 자조서 한 칸 쓰는 것만해도 5000자 넘게 드는데 데이터 크기가 매우매우 크다. 원본 그대로 전송이 되어야하는데, 이거 한 번 큰 파일을 보냈다가, 중간에 잘못보내져서 깨지..
프롤로그저번 HTTP/HTTPS 에서 HTTP 의 특징을 기억해보면1. 비연결형(Connectionless)클라이언트와 서버 간에 요청과 응답이 한 번 이루어 지면 연결이 끊어지고, 요청마다 새로 연결을 생성하기에 연결이 유지되지 않는다.2. 무상태(Stateless)서버는 클라이언트의 상태를 기억하지 않는다. 각각의 요청은 독립적으로 이루어지기에 이전 요청과는 관계가 없다.3. 텍스트 기반 프로토콜 요청과 응답 메시지는 사람이 읽을 수 있는 텍스트 형식으로 전송된다이렇게 있었다. 한 번 요청이 이루어지면 연결이 끊어지고 요청간에 상태를 기억하지 못하기에 이를 보완하기 위해서 추가적인 상태 유지 메커니즘이 필요하다라고 언급했었다.2024.12.04 - [KnockOn] - [1주차 TIL] KnockOn..