목록Develop/PHP (29)
Daniel's Knowledge Storage
sql like 문 사용시 띄워쓰기 때문에 검색결과가 바뀐다. 검색할 대상과 검색어의 공배를 제거 해서 검색하는 셀렉트문. select * from Blog_Table_board where replace(검색한필드명,' ', '') like replace('%검색어%',' ', '')
mysql index 속도 높이기 DB에 데이타가 많이 싸이면 그동안의 dml로 인해 index의 속도가 현저히 떨어집니다. 이럴때 index를 다시 정렬해주시면 검색속도가 올라갑니다. (테이블 파일의 빈공간등을 없에 최적화 시킨다.) # cd mysql/var/디비명 # myisamchk -R1 * (1번 인덱스 기준 레코드 정렬) => myisamchk -r table명 -a : 흩어진 인덱스를 모아 속도 향상 -S : 인덱스트리 소팅 검색 속도 향상 -R : 인덱스 기준 레코드 정렬 속도 향상
검색 엔진이란? 검색엔진 쉽게 만들어 보기! 사실 검색엔진을 만드는 것은 쉬운 일이다. 키워드 검색 엔진 구조는 매우 간단하다. 스크립트 언어로 관계형 데이터베이스를 다루는 프로그래밍을 할 줄 안다면 그것 만으로도 만들 수 있다. 그럼 한번 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..