분류 전체보기
-
[CodeIgniter] 9. AJAX 구현: jQueryWeb/CodeIgniter 2015. 8. 28. 10:49
8장에서 XMLHttpRequest 객체를 이용해 댓글 쓰기, 삭제를 구현헀습니다. 9장에서는 jQuery를 이용해 구현해보도록 하겠습니다. AJAX를 구현하기 위해 복잡한 과정을 거치고 DOM 스크립팅을 이용해 개발했는데 9장에서 jQuery를 이용해 개발한 소스를 비교해보면 jQuery가 단순하고 간결하게 프로그래밍할 수 있습니다. 9.1 댓글 쓰기 AJAX로 구현 컨트롤러와 모델 부분은 수정하지 않고 뷰만 DOM 스크립팅에서 jQuery를 이용한 방식으로 수정하면 됩니다. * bbs/application/views/board/view_v.php 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748..
-
[CodeIgniter] 8. AJAX 구현: XMLHttpRequestWeb/CodeIgniter 2015. 8. 26. 15:32
8장에서는 AJAX(Asynchronous Javascript And XML) 방식을 이용해 게시판의 댓글을 구현해보곘습니다. jQuery 같은 자바스크립트 프레임워크를 사용하지 않고 XMLHttpRequest 를 이용해 구현합니다. 들어가기 전에 AJAX에 대해 조금 알아보면 기존 방식의 사이트는 다음과 같습니다. - 웹 브라우저가 웹 서버에 요청을 전송 - 웹 서버는 JSP/PHP/ASP 등 서버측 애플리케이션을 이용해 사용자의 요청을 처리한 뒤, 처리 결과를 HTML로 웹 브라우저에 전송 - 웹 브라우저는 응답으로 받은 HTML을 화면에 출력 AJAX 방식은 아래와 같습니다. - 사용자가 마우스 클릭 같은 이벤트를 발생시키면 자바스크립트는 DOM을 이용해서 필요한 정보를 구한 뒤, XMLHttpRe..
-
[Google Anniversary] 150826 토마티나 축제 70주년Google Anniversary 2015. 8. 26. 13:21
[ 출처: Google ] 토마티나(La Tomatina)는 스페인 발렌시아 주의 도시 부뇰에서 8월 마지막 수요일에 열리는 추수 감사절로, 일명 토마토 축제이다. 축제 기간 동안 만큼은 전 세계에서 도시 인구의 배 이상의 사람이 모여 서로 잘 익은 토마토를 서로 던진다.(2007년 시점에서 부뇰 인구는 9720명, 2008년 토마티나 참가자는 약 4만명) 이 축제는 1945년 몇몇 소년들이 거인과 큰 머리 민속 축제(Giants and Big-Head figures parade)에 참여하기 위해 마을 광장에 갔을 때 시작되었다. 그 소년들은 음악가와 함께 퍼레이드를 하기로 결정했다. 그런데 이 축제에서 소년들이 노점에 있던 채소를 던지며 싸움을 벌였고 모여 있던 군중들도 그 싸움에 합류했다. 사람들은 ..
-
[CodeIgniter] 7. 사용자 인증(로그인)Web/CodeIgniter 2015. 8. 25. 19:53
7장에서는 로그인에 관한 처리를 해보겠습니다. 거의 모든 사이트에서 중요한 부분이 회원가입 후의 사용자 인증 부분입니다. 사이트의 첫 시작이라고 해도 과언이 아닙니다. 사이트 개발 시 제일 먼저 하는 작업이 가입, 로그인, 회원 관리입니다. 7.1 세션 구조 CodeIgniter의 세션 라이브러리는 PHP의 세션과 작동 형태가 조금 다릅니다. 세션이 생성되는 것은 동일한데 실제 사용자 데이터는 쿠키에 담깁니다. 이렇게 복잡하게 구성된 이유는 사용자 데이터 보안이 강화된 데이터베이스 세션을 구현하기 위해서입니다. CodeIgniter의 데이터베이스 세션은 위 그림의 1, 2번 절차는 동일하고 3번의 사용자 데이터가 저장되는 곳이 데이터베이스로 바뀝니다. 그렇게 되면 해커나 사용자가 PC의 쿠키를 볼수 없기..
-
[CodeIgniter] 6. 놓치기 쉬운 보안Web/CodeIgniter 2015. 8. 24. 15:40
6.1 SQL 삽입 공격(SQL Injection Attack) SQL 삽입 공격을 이용한 여러 가지 사례가 있지만 하나의 예를 들어 CodeIgniter에서 어떻게 막을 수 있는지 살펴 보도록 하겠습니다. 다음과 같이 user 테이블이 있다고 가정합니다. id user_id password 1 advisor 1234 SQL 삽입 공격에 대해 취약한 사이트에 아이디 advisor' #, 비밀번호 2222로 로그인합니다. * 로그인 체크 쿼리 SELECT * FROM user WHERE id = '$id' AND passwd = '$passwd'; *SQL 삽입 공격에 의한 변조된 쿼리 SELECT * FROM user WHERE id = 'advisor'; 변조된 쿼리를 보면 쿼리 중간에 #이 들어가 있..
-
[CodeIgniter] 5. 폼 검증하기Web/CodeIgniter 2015. 8. 24. 15:00
4장에서 게시판의 기본 골격을 만들었습니다. 5장에서는 CodeIgniter의 라이브러리 중 하나인 form_validation 을 이용해 값의 존재유무, 데이터 형식(한글, 영문, 숫자 등), 최소, 최대 길이 제한, 중복 아이디 체크나 비밀번호 입력 여부 등을 검증해보겠습니다. 5.1 기본 형태 4장의 검색이나 글쓰기 소스에서는 자바스크립트를 이용해 뷰 단에서 체크했습니다. CodeIgniter 폼 검증은 프로그램 단에서 검증하는 것이라 전송 후에 체크하고 설정된 룰을 통과하지 못할 경우 다시 뷰에 에러 메세지를 표시하는 형태입니다. 자바스크립트로 뷰 단에서 체크하는 것보다 한번 전송되고 다시 폼이 표시되는 형태라 서버 리소스를 차지할 수 있습니다. 그럼에도 프로그램 단에서 체크하는 폼 전송 형태를 ..
-
[Movie] 베테랑(Veteran) 리뷰Movie 2015. 8. 24. 10:50
베테랑 (2015) Veteran 8.4감독류승완출연황정민, 유아인, 유해진, 오달수, 장윤주정보액션, 드라마 | 한국 | 123 분 | 2015-08-05 글쓴이 평점 첫 시작부터 흥미진진하게 진행이 되는 이 영화. 꽤 재밌게 봤다. 정말로 개그 코드도 적당했고. 스토리도 딱 맞았고. 영화 제목과의 큰 연관성은 없는 전개지만. 더러운 것에 맞서는 형사를 다룬 영화. 줄거리는. 광수대 형사를 맡고 있는 황정민은 외제 차를 대포 차로 팔아 넘기는 일당을 검거하여 앞으로의 경찰 생활에 있어 진급할 수 있는 여건을 갖췄는 데, 드라마 자문 형사로 도움을 받아서 간 모임에서 꼴통 유아인을 접하면서 점점 유아인을 캐묻게 되고 이와 관련된 사건으로 인해 스토리가 진행된다. 와 마지막 씬이 거의 명동에서 촬영한 건데..
-
[Google Anniversary] 150824 듀크 카하나모쿠 탄생 125주년Google Anniversary 2015. 8. 24. 10:37
[ 출처: Google ] 듀크는 작위나 별칭이 아니라 실제 그의 이름이다. 그의 아버지의 이름인 듀크 할라푸 카하나모쿠에서 물려받은 것이다. 그의 아버지는 독실한 기독교 신자로 베르니체 파우아히 비숍으로부터 세례를 받았는데, 마침 그 때 하와이 섬에 영국 빅토리아 여왕의 둘째 아들인 에든버러 공 알프레드 왕자가 방문 중이라 이를 기념하기 위해 세례명으로 듀크(Duke, 공작)을 썼다고 한다. 그리고 그 이름을 튜크 카하나모쿠가 물려받은 것이다. 1912년 스톡홀름 올림픽에 처음 참가하여, 100m 자유형에서 첫 금메달을 획득하였다. 1916년에는 제1차 세계대전 중이라는 이유로 올림픽이 열리지 않아, 8년 만인 1920년 안트베르펜 올림픽에 돌아와 100m 자유형을 2연승하였고 800m 자유형 계주에서..