목록db (23)
세이박스
부산에서 2016년3월15일 화요일 저녁 7시~10시까지 3시간 동안 부산모바일앱개발센터 교육장에서 1차 모임을 가졌습니다. 스마트폰의 모바일 앱 개발은 이제 웹서버프로그래밍을 통한 Data 관리 환경의 필요성을 많은 분들이 필요성을 느끼셔서 본 강의를 요청하셔서 개설하게 되었습니다. 총 10분이 참여하셨구요. 끝까지 열공하셔서 좋은 결실 맺기를 바랍니다. 관리자 로그인, 회원관리, 게시판 및 자료실, 상품 관리 등의 관리 페이지 개발과 JSON 통신을 위한 DB 출력까지 진행합니다. JSON Data를 앱에서 받아서 출력만하면 끝! ^^ 출처 : http://www.androidstudy.co.kr/bbs/board.php?bo_table=B53&wr_id=127
안녕하세요! 안드로이드스터디 운영자 이경용 입니다. 요즘 개발하는 대부분은 앱들이 서버와의 통신을 기본으로 개발되고 있습니다. 하지만 대부분 모바일 앱 개발 관련 교육만 있으며, 서버 중심의 관리페이지 개발에 대해서는 잘 없기에 준비했습니다. "요기요", "배달의민족", "쿠팡"와 같은 앱의 업소 정보는 매번 바뀔때 마다 앱을 어떻게 업데이트 할까요? 업소 정보는 별도의 웹 환경에서 관리페이지를 만들고 DB와 이미지를 관리하며, JSON으로 앱과 자료를 주고 받습니다. 이러한 관리페이지를 만드는 기본 과정을 학습하고 실습을 통해 만들어 보고자 합니다. 관리페이지를 만드는 언어는 html , css, javascript, php, mysql 를 이용해서 만들니다. 해당 언어의 기초 지식이 있으면 좋지만, ..
공모주제 DB·API를 매쉬업 하라! 공모내용 개발부분 : DB·API를 매쉬업 하여 개발한 서비스 기획부문 : DB·API를 매쉬업 하여 제안한 서비스 아이디어 공모기간 2013. 5. 27. ~ 7. 24. 16:00까지 참가대상 개인 또는 팀 단위 학생(초·중·고·대학 및 대학원생), 개발자, 일반직장인 등 누구나 참여 가능 접수방법 공모전 홈페이지를 통한 온라인 접수 (http://www.dbstore.or.kr/mashup2013/apply.do) DB·API를 2개 이상 매쉬업 한 웹서비스, 모바일 앱 등의 창의적인 서비스를 기획·개발하여 서비스 확인이 가능한 파일 또는 URL 제출 ※ 서비스 개발언어 및 플랫폼 제한없음 참가신청서 1부 당 기획서 및 개발작품 1건을 원칙으로 함 1인(팀)이 ..
MySQL 설치후 /etc/my.cnf 수정후 MySQL을 실행 했는데, Starting MySQL. ERROR! Manager of pid-file quit without updating file. 와 같은 오류가 떠드군요. # /etc/rc.d/mysqld start # Starting MySQL. ERROR! Manager of pid-file quit without updating file. 이유는 my.cnf를 잘못 수정한 원인이었습니다. 그래서 /etc/my.cnf를 삭제하고 # /usr/local/mysql/bin/mysql_install_db --user=mysql 실행해서 데이타베이스를 새로 생성하니 잘 되더군요. 아님 my.cnf를 수정하시기 전에 백업을 하신다면 다시 원복해서 실행하면..
Connecting DB : File '/usr/local/mysql/share/mysql/charsets/?.conf' not found (Errcode: 2) Character set '#192' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index' file PHP + MySQL 연동시 자주 발생하는 오류로써 MySQL에 문자셋 설정 오류 입니다. 오류 메시지 내용만 보면 ?.conf 문자셋 파일이 없다 그런 내용입니다. 해결 방법을 찾아서 이것저것 해보았지만 해결되지 않더군요. 그래서 오류 메시지가 알려준데로 MySQL에서 이용하는 문자셋중 latin1.xml 파일..
Aapache 2.x, PHP 5.x, MySQL 5.x 설치후 서버 이전을 끝내고 사이트 접속해보니 한글이 모두 ㅁㅁㅁ 특수기호들로 깨져 버리더군요. 원인을 알아 보니 mysql 기본 설치시 기본 문자셋이 utf8이 아니라서 생긴 문제 이더군요. 웹소스는 utf8 이며 기존 DB 자료 역시 utf8인데 mysql 기본 문자셋은 다른 문자로 되어 있어서 생긴 문제 였습니다. 다행이도 해결 방법이 mysql 다시 설치 하는 것이 아니라 /etc/my.cnf MySQL 설정 파일만 수정해 주면되었습니다. 자신의 기본 문자셋이 어떻게 되어 있는지 확인 해 보실려면 mysql 접속후 다음과 같이 확인 해 보세요! mysql> SHOW VARIABLES LIKE 'character_set%'; +---------..
어느날 갑자기 MySQL 테이블 하나를 읽을려고 할때 다음과 같은 메시지가 나타날 경우 SQL Error: Can't open file: 'sessions.MYI'. (errno: 145) 테이블이 오류가 난것입니다. 원인은 하나의 테이블에 지속적으로 접속자가 너무 많이 connection이 된 경우 혹은 MySQL 기록중에 DB서버가 강제 종료 혹은 리부팅 되는 경우 깨지는 경우가 종종 발생 합니다. 이처럼 비정상적으로 종료된 테이블인 경우 마지막 처리 과정을 복구해서 정상 동작 하도록 하는 명령어가 있습니다. 먼저 해당 테이블 DB에 접속합니다. mysql -u아이디 -p db이름 비번 : repair table tablename; 입력 혹은 그냥 엔터 또는 간단하게 한줄로 mysql -u아이디 -p..
인젝션 방어를 위한 처리를 하기 위해선 get, post 로 넘어오는 모든 변수중에서 DB에 사용될 변수에 대해 검수를 거친뒤에 DB에서 사용하도록 해야하나 이미 구축된 사이트에 일일이 적용하기엔 힘들 경우 아예 get, post 데이터 전체를 검사하도록 다음과 같이 구현해 봤습니다. //인젝션 공격 막기 넘어오는 변수들 모두 검사 //GET while(list($fildn1,$fildv1) = each($_GET)) { if(eregi("--",$fildv1)) { echo ""; exit; } } //POST while(list($fildn2,$fildv2) = each($_POST)) { if(eregi("--",$fildv2)) { echo ""; exit; } } 일단 인젝션 공격에 대표적인 문..
SQL 2000 Server 서비스 팩3,4 설치시 오류 대처방법 스크립트 실행 중 오류 발생 '80sp1-tools.sql (1)' 1. 쿼리분석기로 SQL Server 에 접속한다. 2. DBCC CHECKDB('dbname', NOINDEX) 로 지정한 데이터베이스에서 모든 개체의 할당과 구조적 무결성을 검사한다. NOINDEX - 시스템 테이블이 아닌 테이블의 클러스터되지 않은 인덱스를 검사하지 않도록 지정한다. NOINDEX는 사용자 정의 테이블의 클러스터되지 않은 인덱스를 검사하지 않으므로 전체 실행 시간이 줄어든다. DBCC CHECKDB에서 모든 시스템 테이블 인덱스를 검사하므로 NOINDEX는 시스템 테이블에 어떤 영향도 주지 않는다. -----------------------------..
우체국 사업 본부 사이트인 koreapost.go.kr 에서 제공하는 우편번호 파일을 엑셀로 받아서 DB에 저장 할 수 있도록 insert 문으로 벼경 하였습니다. http://www.koreapost.go.kr/woopuns/domestic_post3_3.jsp?sc_displayflag=true 위 URL로 직접 가셔서 사용하고자 하는 용도에 맞게 이용하시면 됩니다. 제가 만든 쿼리는 제 사이트에 맞게 받은것으로 자신의 사이트에 맞는 필드로 변경해서 이용하시기 바랍니다. 우편번호는 2009년 2월 23일자 현재 최신 자료 입니다. [출처] 유포유 - http://www.uforu.net/bbs/board.php?bo_table=asp&wr_id=24
MSSQL2000을 이용하다가 MSSQL2005로 업그레이드 하고 ASP소스는 DB가 이전에 웹서버와 분리 되어 있어서 DB에 접속하는 IP가 고정으로 되어 있었다. 그런데, 다음과 같은 오류가 발생하면서 DB에 접속할 수 없다는 오류가 나는 것이다. [DBNETLIB][ConnectionOpen (Connect()).]SQL Server가 없거나 액세스할 수 없습니다. sql 재시작해도 안되는것이었다. 새로 설치한 서버는 웹과 DB를 하나의 서버에 설치 했기에 혹시나해서 sql 연결구문에서 ip를 127.0.0.1 로 바꿨더니 접속이 된다. OTL 헐.. MSSQL2008이 나왔는데 MSSQL2005를 붙잡고 고생하고 있다. ㅋㅋ [출처] 유포유 - http://www.uforu.net/bbs/boar..
addslashes() DB에 데이터를 입력할 때 ' 홀따옴표가 들어가는경우 오류가 나는걸 방지 하기위해 ' 앞에 \ 백슬러시를 붙이는 역할을 합니다. \' 처럼... stripslashes() addslashes() 반대 되는 역할로써 ' 홀따옴표에 \붙여진걸 제거 해주는 역할을 합니다. 게시판등 사용자의 입력내용을 받을때 유용하게 활용 하면 str_replace 등으로 굳이 변환하지 않고 DB에 바로 저장 가능합니다.
DB injection 공격? 구글에서 ''' ); FETCH NEXT FROM Table_Cursor INTO @T, @C; END; CLOSE Table_Cursor; DEALLOCATE Table_Cursor; '스크립트 부분은 삽입된 스크립트를 입력 5. 보안 적용 1 - MSSQL 메모리에서 위험한 sp들을 내린다. 보안상 위협이 될 수 있는 개체들에 대하여 일반 사용자 그룹의 사용권한을 제한한다. 참조: http://blahblah.springnote.com/pages/351077 SP 등록해제는 위험을 감안해야 하므로 메모리에서만 내린다. 단점, 재부팅되거나 DB 재시작시 다시 아래 쿼리 실행 할것! dbcc xp_cmdshell(free) dbcc xp_dirtree(free) dbcc x..
사용자 입력값이 SQL injection 발생시키지 않도록 수정 다수 사이트, SQL Injection 취약점 공격에 무방비 상태 웹 취약점을 이용한 공격이 식을 줄 모르고 있다. 공격의 목적은 게임정보 탈취와 궁극적으로는 이를 이용한 게임아이템 거래로 돈을 벌기 위한 것이다. 정보통신부와 KISA는 이에 대한 대책으로 중국에서 들어오는 IP들을 차단하고 있고 자금 여력이 없는 중소기업의 웹사이트 관리자에게 공개 웹방화벽 구축을 권유하고 있으며 개인 PC의 보안패치율을 높이기 위해 각종 캠패인을 벌이고 있다. KISA에서 운영하는 ‘보호나라’에서는 대국민 서비스로 원격 PC점검을 해주고 있고 대기업을 중심으로 보안솔루션 도입과 시스템 구축이 한창이다. 하지만 이러한 노력에도 불구하고 해킹 관제 서비스를 ..
include "$DOCUMENT_ROOT/php/common.php"; if(!$conn) $conn=dbConn(); $fp=fopen("kkk.txt",'r'); while(!feof($fp)){ $line=fgets($fp, 512); $aa=explode(",",$line); $name=Trim($aa[0]); $email=Trim($aa[1]); $phone=Trim($aa[2]); $qry="INSERT INTO beta_tester VALUES ('$name','$email','$phone')" or die(mysql_error()."->"); //echo $qry.''; mysql_query($qry); } fclose($fp); if..
보통 데이타를 DB에 집어 넣을 때 load data infile 을 이용해서 화일로 부터 집어 넣습니다. 이런 방법도 무쟈게 빠름니다. 하지만 insert를 써서 데이타를 집어넣는 방법도 빠르게 할 수 있습니다. 예 1) for($i=0;$i
mysql> insert into db values ('%','databaseName','Y','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO `user` ( `Host` , `User` , `password` , `Select_priv` , `Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` , `Drop_priv` , `Reload_priv` , `Shutdown_priv` , `Process_priv` , `File_priv` , `Grant_priv` , `References_priv` , `Index..
1. db 테이블의 host란에 '%'로 표시, 아니면 특정 IP. 2. user 테이블의 host란에 '%'로 표시, 아니면 특정 IP.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]'WordGame' 데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 로그 공간을 확보하십시오. 라는 오류 메시지가 나타나는 경우 해당 싸이트에서 DB를 SQL Server를 사용하는데.. 그 DB서버의 문제가 생긴 것입니다. 말 그대로 데이터베이스의 로그 공간을 확보 하면 되는데.. 로그파일 용량을 늘여주는 방법이 있구요.. 하드용량이 꽉차서 더이상 로그를 늘릴수 없다면 기존 로그를 삭제 하는 방법이 있어요. 기존 로그를 삭제하는 방법은 쿼리분석기에서 backup l..
Q . SQL Server의 Procedure cache를 지우고 싶은데요? Tuesday, November 14, 2000 A . SQL Server 6.5 에서 유일한 방법은 SQL Server를 재시동하는 것입니다. SQL 7.0 에서는 DBCC FREEPROCCACHE라는 명령어가 있습니다. DBCC FREEPROCCACHE의 권한은 sysadmin과 serveradmin 고정 서버 역할의 구성원에게만 기본적으로 부여되며, 양도할 수 없습니다
Q . .dat 만 가지고 데이터베이스를 복구할 수 있습니까? Friday, November 24, 2000 A . 일반적으로 6.5 이하 버전에서는 백업을 받아 놓지 않고 자주 발생을 하는 일이다. 아래 글은 정원혁씨 사이트 참조 DISK REINIT, DISK REFIT을 수행하십시오. 1 SQL 서버를 single user mode 로 시작합니다. 옵션만 /f 대신 /m을 사용하면 됩니다. C:MSSQLBINNSQLSERVR /m 2 ISQL/w를 수행하고 DISK REINIT을 수행합니다. 예를 들어 두 디바이스 파일로 구성되어 있었다면 다음과 같이 합니다. DISK REINIT NAME = 'dist' -- 이름은 종전과 똑같지 않아도 됩니다. , PHYSNAME = 'd:mssqldatadis..
Q . SQL7 에서 미처 백업(.mdf)을 받지 못 하고 날려버린 DB를 살리는 법은? Friday, November 24, 2000 A . 아래 내용은 정원혁씨 사이트에 참조한 글입니다. 저도 이러한 경우가 발생 해서 복구한적이이 있네요. 어려울때는 Books Online 을 참조 하시면 많은 도움이 됩니다. 1. *.mdf 를 비롯한 파일을 날렸다면 전혀 방법이 없습니다. 2. drop database 를 실행했거나 EM에서 database를 삭제했다면 역시 전혀 방법이 없습니다. 3. SQL 서버를 Uninstall 했다면 가능합니다. 이때는 *.mdf, *.ndf, *.ldf 등이 남아 있기 때문입니다.이 때는 바로 아래에 있는 스크립트를 참고하여 디비를 하나씩 살려내면 됩니다. pubs 디비를..
10. 백업과 복구 - 4. mdf화일만 또는 mdf와 ldf 화일만 남았을때.. 이번에 소개해드릴 내용은 약간은 쉬운? ^_^;; 간단한 내용 입니다. 앞에서 설명드린 FAQ들에 대해서 실질적인 내용을 답변 드리지요. 또한 하도 많이 받는 질문이라 아예 페이지를 만들었으니 참고 하시길 바랍니다. Q. 풀백업과 로그백업을 혼용해 지속적으로 백업하고 있습니다. 개발자의 실수로 update 회원테이블 set 이름 = '아무개' 로 WHERE절 없이 update를 해 버렸습니다. 복구할 방법이 없을까요? A. 가능합니다. 1. 복구 모델이 전체 모델일것(DB를 생성하면 기본입니다.) 2. 문제 발생후 풀백업이나 로그에 쓰지 않는 작업을 하지 않았을것 이 두 조건이 맞다면 즉시 로그를 with no_trunca..