목록php (11)
Daniel's Knowledge Storage
로그아웃을 할 때 유용할 것 같다.Codeigniter에서 세션을 통으로 날리는 방법이다. $this->session->sess_destroy();
Codeigniter에서 컬럼 내용을 Update할때 기존 숫자에 +1 해야 하는 경우가 있다.이를테면 조회수나 댓글수 방문횟수등을 업데이트 할때. 아래와 같이 사용한다.포인트는 마지막의 false. $this->db->set('memberVacationJoinYear', 'memberVacationJoinYear + 1', false);
자주 있는 일은 아니지만,가끔 테이블을 통으로 날려 버려야 하는 경우가 생긴다. 이를테면...휴지통으로 사용하는 테이블의 경우 주기적으로 비우도록 하는게 일반적인데. 이때 Codeigniter에서 사용하는 간단하게 테이블을 통으로 날려 버리는 기능이다. $this->db->empty_table('테이블명'); 테이블 자체를 삭제하지는 않고 말 그대로 empty, 비우기만 한다.
실제는 더 많은 내용들이 있지만 해당 제목만 퍼옵니다. 원문은 아래 링크에서!! http://cl.dgtalx.net/142 1. 가장 중요한것은 기초 알고리즘과 로직들이다. 2. MVC는 가장 최악의 경우를 불러일으킨다. 3. 변수의 선언에는 신경을 써야한다. 4. 네임 쿼테이션은 최대한 ' 로 통일 5. 펑션도 메모리다. 6. DB의 Select또한 부하다. 7. PHP를 신뢰하지마라! 8. 캐시를 적당히 이용하라 9. 프로파일링을 위해 시간을 아끼지 말라 9. 서버의 파인튠을 위해 많은 시간을 할당하라 10. 이렇게 하면 안된다! 대표적인 배드코딩
검색 엔진이란? 검색엔진 쉽게 만들어 보기! 사실 검색엔진을 만드는 것은 쉬운 일이다. 키워드 검색 엔진 구조는 매우 간단하다. 스크립트 언어로 관계형 데이터베이스를 다루는 프로그래밍을 할 줄 안다면 그것 만으로도 만들 수 있다. 그럼 한번 MySQL과 PHP를 사용해 간단히 검색엔진을 구현해보자. 위 그림은 검색엔진에서 사용하는 세가지 기본적인 자료구조의 예이다. 검색엔진의 기본 구조에 대해 들어본 적이 있다면 각각 테이블이 어떤 역할을 하는지 금방 눈치챌 것이다. 그리고 그림 3.의 테이블이 '단어-문서'의 역색인 데이터 베이스라는 것도 알 수 있을 것이다. 겨우 테이블 세 개만으로도 검색엔진을 구현할 수 있는 것이다. 검색엔진의 구조를 모르는 사람을 위해 간략히 설명하자면, "키워드 검색엔진"이란 ..
회원 인증 로그인 시스템 보안 php.ini 에서 register_globals=off 하시면 , 일단 보안이 되구요. 세션을 사용시 $_SESSION 이나 $HTTP_SESSION_VARS[] 형태로 사용하여야 합니다. 왼쪽에 PHP4.1.1 아래 관련 게시물 주욱 보시면 됩니당 글구 회원 비번은 md5() 로 암호화 하시구요. 쿠키는 사용하지 마세요. 회원이 비번을 잊어 버렸을 경우는 회원 email 주소로 새로운 비번을 쏴주시구요. 세션의 경우 회원id 세션과 회원 비번 md5 암호화 한 세션 , 2개 로 비교 하세요. 회원 레벨..준회원..정회원..관리자 등이 있을 경우는 3개 로 비교 하시구요. 1개 로만 절대로 비교 하시지 말구요 ! 회원 정보 수정 시 form 에서 맨아래 무조건 회원 비번을..
PHP 보안 크리스 쉬플릿 | 한동훈 옮김 한빛미디어 2006.03.04 크리스 쉬플릿(Chris Shiflett) 저,「PHP 보안(Essential PHP Security」에서 저자는 이 책에서 가장 먼저, 넘겨받은 값(POST, GET, REQUEST)의 정화(淨化)에 대해 몇 번이고 강조한다. 해킹의 대부분은 바로 이 값을 넘어온 그대로 사용하는 실수로 인해 벌어진다고 한다. 심지어 저자는 (MySql) DB에 입력된 데이터 마저도 신뢰해서는 안 된다고 한다. 아무튼, 악의적인 사용자가 아니라 하더라도 넘어온 값을 그대로 사용한다면 예기치 않은 오류들이 발생할 수도 있다. 따라서, 코드의 상단에 간단히 아래와 같이 넘어온 값은 정화작업을 거치는 것이 좋다. 이를테면, $clean_text = ht..
이렇게 만들어 놓고 적당한 폴더에 업로드 시켜둡니다. [출처] php 클래스 사용하기 |작성자 아브디엘
웹사이트를 방어하기위한 간단한 php (mysql)함수를 소개합니다. mysql_real_escape_string() 함수입니다. get 으로 받건 post로 받건 request 로 받건 받으면서 이녀석으로 둘러싸줍시다 . 해커라고 설쳐대는 똥파리들의 침입을 막아줍니다. 부정침입자는 ip를 기록해뒀다가 사이버 수사대에 넘겨줍시다 . 단, 사용하면서 문제가 생길수있습니다. 줄바꿈 문자가 돌출됩니다. 같은 이유로 nl2br() 함수가 먹지않습니다. \r\n 이 -> \\r\\n (편의상 \를 w로 썼습니다.) 으로 치환되기 때문인데 ...이부분을 찾아서 br태그와 교환해주면 됩니다. 위지윅 이라면 줄바꿈에 태그가 들어가니까 신경 안써도 됩니다. 그냥 텍스트로 전송할 경우에만 해당되는 이야기 입니다. Exam..
phpmyadmin의 최신 버젼을 설치 했는데, 경고가 나오면서 접속이 안되 당황한 분이 계실지 모르겠습니다. 물론 이미 여러 블로그에 올라와 있는 동일한 내용이지만 검색의 폭을 넓게하고자 올립니다^^ PhpMyAdmin 설치 방법(빠른 설치) 다운로드 http://www.phpmyadmin.net/home_page/downloads.php 최신버전의 PhpMyAdmin 다운로드 (wget 명령어를 통해서 원격 접속된 상태에서 다운 받으셔도 됩니다. 그렇게 된다면 홈디렉토리에 따로 업로드할 필요가 없겠죠 ^^) 서버 홈 디렉토리 업로드 자신의 서버의 홈 디렉토리로 업로드 한다.(*설정에 따라 디렉토리가 다를수도 있습니다.) 압축해제 # tar -xvzf phpMyAdmin*.gz(gz파일의 경우) 디렉토..
1. 날짜 및 시간 관련함수 *time() -용도: 현재 시각을 timestamp값으로 구한다. -방법: time() *date() -용도: 사용자가 지정한 형태로 시간을 표시. 특정시간의 날짜와 요일등을 배열로 리턴한다. -방법: date("표시할 시간의 포맷형태","특정한 timestamp값") *mktime() -용도: 지정된 날짜를 timestamp값으로 변환한다. -방법: mktime(시,분,초,월,일,년) *checkdate() -용도: 날짜와 시간이 올바른 범위 안에 있는지 검사한다. -방법: checkdate(월,일,년) *getdate() -용도: 특정timestamp값으로 시간,요일,날짜정보를 배열로 반환한다. -방법: getdate(timestamp값) 또는 getdate() *get..