아주 간단한 게시판 1. 기능 설계 1). 회원가입 : register.php → signup.phpregister.php : (여기서 정보입력)signup.php : (여기서 정보처리) - 아이디, 패스워드, 이메일 - 중복된 아이디는 존재하지 않는다. - 빈 입력값도 허용하지 않는다. 즉, 아이디 패스워드 이메일 모두 입력해야함 2). 메인 화면 : index.php - 로그인 : signin.php · 아이디, 패스워드 만 입력받아서 올바른 사용자면 세션만 만들어 줄수 있으면 된다. - 전체 게시물 목록 확인 · 로그인 하지 않은 사용자도 목록 확인은 가능 - 게시물 확인 : view.php · 로그인 한 사용자만 게시글 확인 - 게시글 작성 : write.php → write_ok.php · 로그..
쿠키(cookie) - 단점 : 사용자의 정보가 노출되어 보안상 취약 - 쿠키를 이용하는경우 서버에는 데이터가 하나도 남지 않는다. - 사용자의 정보가 로컬 컴퓨터(브라우저)에 저장이 된다.이런점을 보완하기위해 나온것이 세션(session)이다. 세션(session) - 사용자의 정보를 서버에 저장 세션을 사용하기위해선 반드시 - session_start(); → session_id 발행(쿠키를 통해) - 즉, 세션을 사용하기 위해서는 session_start() 함수를 먼저 호출해야만 한다. # 인증 여부와는 상관없이 session_start(); 를 하게되면 클라이언트(웹브라우저)가 쿠키(session_id)를 갖게된다. 세션은 클라이언트가 session_id 하나만 알고있기 때문에 쿠키의 단점(사용..
인증 처리 1. 아파치 웹서버 인증 ( 참고 : http://kevinthegrey.tistory.com/20?category=778262 )아파치에서 인증을 하기위해 사용정보가 있는 파일을 만들어 인증을 처리 - htpasswd 명령어를 통해서 .htpasswd file을 만들어서 진행하였다. 2. 웹 어플리케이션을 이용한 인증처리 - 인증을 하기위한 사용자 DB생성, 직접 인증처리 알고리즘을 작성하여야 한다. DB를 이용해서 실제 인증을 처리해보자. 입력 → 인증(authentication) → 인가(authorization) 인증 : 이 사용자가 올바른사용자인가 아닌가를 판단인가 : 인증 이후의 과정. 인증을 받은 사용자에게 그에 해당하는 권한 부여 # mysql> SELECT * FROM 인증테이..
PHP를 통한 DB제어PHP 에서 제공하는 MySQL라이브러리를 이용해서 PHP 문법으로 DB를 제어해보도록 하자.모든 내용을 세세하게 다룰 수 없으므로, 본인이 직접 레퍼런스 사이트에서 자료를 찾아가며 확인할 수 있어야한다.http://php.net/manual/en/function.mysql-query.php # 기존에 만들어 둔 테이블은 모두 지워 비워두자. # PHP에서 MySQL로 DB쿼리를 보낼때 사용하는 함수 : mysql_query() mysql_query() 함수를 이용하여 PHP에서 DB쿼리를 보냈을때의 결과는 사용한 쿼리가 어떤것인지에 따라 그에대한 응답(Return Value)이 달라진다. - 입력(INSERT), 수정(UPDATE), 삭제(DROP) 쿼리를 보낼 시 : 쿼리가 제대..
테이블 생성 및 삭제 테이블을 생성한다? - 내가 저장할 데이터의 구조를 정의하는것 정형화된 데이터 : 사용자 정보 와 같은것관계형 DB는 정형화된 데이터를 관리하기 용이하다. - 아이디 - 패스워드 비 정형화된 데이터 : 규칙이 없기 때문에 정형화 시킬수 없는 데이터#)_ 참고데이터 마이닝 : 규칙이 없어보이는 데이터를 규칙을 찾아내는 것. 데이터의 형태 # MySQL에서 기본적으로 제공해주는 데이터 타입이다. # 스트링타입에서시간복잡도 : CHAR > VARCHAR공간복잡도 : VARCHAR > CHAR 실제로 대용량의 데이터를 관리하는부분에 있어서는 타입을 정하는것이 신중해야 할 상당히 중요한부분이다. # BLOB 과 TEXT 타입 - 대용량의 데이터를 저장할 때 주로 사용.사람이 게시판의 글을 저..
보안측면에서 인증은 매우 중요하다. 웹에서 인증 할 수 있는 방법은 기본적으로 2가지이다. - 아파치 웹 서버의 인증 기능 사용 - PHP를 통한 직접 인증 처리 ( 인증처리 프로그램 작성 ) 둘 다 알고있어야 하지만, 보통 두번째를 더 많이 사용한다. 1. 아파치 웹 인증 - 아파치 설정파일 에서 가능하다. #> vi /etc/httpd/conf/httpd.conf 로 들어가보면 # 317번 라인부터 [내용] 형식이 시작된다.위 형식에서 [경로] 에 지정된 경로만 아래의 해당 설정이 적용된다.즉, 해당 디렉토리의 파일에대해 인증을 요구하는 설정이 적용되는 것이다. AuthType Basic AuthName "Basic Authentication" AuthUserFile /var/www/html/.htp..
GET vs POST GET : 가져온다 / POST : 수행한다 GET - Select와 비슷한 성향 - 서버에서 어떤 데이터를 가져와서 보여줄 때 사용 - 즉, 서버의 어떤 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용 - 예를 들면, 게시판에서 글의 내용에 대한 목록을 보여주는 경우, 글의 내용을 보는 경우 - 클라이언트로가 입력한 query의 이름과 값이 결합되어 스트링 형태로 서버에 전달 - TAG의 METHOD 속성의 값으로 GET을 입력 - ex) - 한번 요청시 전송 데이터 양은 주소값+파라미터로 255자로 제한 - DB에 추가로 정보를 처리하지않고, 저장된 Data를 단순 요청하는 정도로 사용 - URL에 그대로 query의 이름과 값이 연결되어 표현됨 - ex) http://musi..
- HTML, Javascript 정도는 생활코딩(https://opentutorials.org/course/1703), https://www.codecademy.com/등을 활용하여 개인적으로 깊이있게 공부해야함. DOM & BOM 리뷰 - DOM : document 객체. 열려있는 문서에 대한 모든 정보를 가지고 있는 객체. document, history 등을 가장 많이 사용. - document.getElementsByTagName 을 포함하여 태그네임, Id 등을 이용한 요소에 접근하는 방식은 사실 옛날 문법이다.요즘은 JQuery, Ajax 등 자바스크립트 라이브러리를 사용하여 구현하기 때문에, 추후에 이런 요소들에 대한 공부가 필요하다. 오늘 배우게 될 PHP는 CGI기술에 막대한 영향을 끼..
백준 (https://www.acmicpc.net/) -> 단계별로 풀어보기 로 언어에 대한 이해도 높힐것.백준 하루에 최소 10문제 풀 수 있도록 노력. 생활코딩 자바스크립트 강의 (https://opentutorials.org/course/743/) 들어서 부족한 내용 보충할 수 있도록. 해킹관련 : https://www.net-force.nl https://www.hackerrank.com/ 자바스크립트 객체를 이용해서 html 객체 관리하는 방법에대해 간략하게 알아보도록 하자.자바스크립트에서는 DOM, BOM 이 두 모델을 이해하는것이 매우 중요하다. DOM(Document Object Model 의 약자) - 문서에 대한 모든 내용을 담고있는 객체. 도큐먼트에 관련 된 내용 모두 - 문서 즉 열..
- 언어를 잘하려면 한가지만 잘 해도 된다. 자유롭게 다룰 수 있는 언어 하나쯤은 반드시 있어야 함. - 어떤 언어를 배워야하는지? 와 같은 질문은 무의미하다. 본인이 희망하는 분야에서 어떤 언어를 선호하는지 파악이 더 우선. - 각 분야별로 특화된 언어가 존재한다 (웹 프로그래밍 : 파이썬, 시스템 프로그래밍 : C언어 ..) 지난 내용중 가장 중요한 부분은 - *실행이 되는부분이 어디인지를 파악하는것이 관건. - Javascript 의 경우 소스코드를 서버로부터 가져와서 브라우저에서 실행 시키는 것이다. - 그러므로 해당 페이지에서 사용했던 변수들은 개발자모드에서 내가 사용할 수가 있다. - 마찬가지로 내가 완성시킨 코드가 웹브라우저에서 실행된다는 것이다. Javascript 의 특징을 조금 더 알아..