Browsed by
[Category:] IT 개발

IT 개발 피드

[PHP] mb_substr 사용 시 문자가 null로 출력되는 경우

[PHP] mb_substr 사용 시 문자가 null로 출력되는 경우

한글과 같은 2byte 문자를 자를 경우에는 substr이 아닌 mb_substr을 사용해야 합니다. 그런데 mb_substr 함수를 사용했을때 어떤 경우는 문자열이 잘리지 않고 null로 출력되는 경우가 있습니다. 이런 경우에는 mb_substr 함수의 인자를 확인해보세요. // 수정 전 $str = mb_substr(‘테스트 문자열’, 0, 2); // 수정 후 $str = mb_substr(‘테스트 문자열’, 0, 2, ‘UTF-8’); 마지막 인자에 인코딩 타입을 지정해주시면 해결이 됩니다. 너무 간단한 내용이지만 의외의 복병이 될 수도 있습니다. 이 함수 말고도 mb_strlen, mb_strcut 과 같은 함수도 공통으로 가지고 있는 사항이니 참고하세요.

[jQuery] draggable 스크롤바 버그 문제 해결 방법

[jQuery] draggable 스크롤바 버그 문제 해결 방법

jQuery ui에는 draggable라는 드래그 메소드가 있습니다. 아래와 같이 원하는 앨리먼트에 지정해주면 마우스 드래그로 이동이 가능하게 됩니다. $(“#myDiv”).draggable(); 하지만 draggable 기능에 문제가 하나 발결되었습니다. 예를 들어 myDiv라는 영역안에 iframe이나 overflow:scroll 속성이 있는 요소가 존재하는 경우 스크롤바가 생성될겁니다. 문제는 이 스크롤바를 클릭하면 draggable 이 적용된 부모 앨리먼트가 드래그 상태가 풀리지 않는 상태로 마우스를 계속 따라다니게 됩니다. 이를 해제하는 방법은 새로고침이나 오른쪽 클릭을 해야만 풀립니다;; 이 문제를 원천적으로 해결하는 방법은 앨리먼트 내 draggable이 동작하는 유효한 요소를 지정해주는 것입니다. <div id=”myDiv”> <div class=”dragWindowTitle”>드래그창</div> <div class=”dragWindowContent” style=”overflow:scroll;”>내용</div> <iframe class=”iframeContent”…

Read More Read More

[MySQL] 사용자 추가부터 DB생성까지 정리

[MySQL] 사용자 추가부터 DB생성까지 정리

예전부터 정리하려고 했던 내용이었으나 이제야 남기게 되네요. Shell에서 MySQL 계정과 DB를 생성하는 방법을 되도록 간단하게 설명해드리겠습니다. 전체 과정을 순서대로 나열하자면 아래와 같습니다. 1. DB 계정 추가 (권한 설정) 2. 추가된 DB계정의 비밀번호 초기화 3. 추가된 계정이 사용하게 될 DB 생성 4. DB 접속 테스트 1. DB 계정 추가 (권한 설정) mysql DB의 user테이블에 insert 문으로 계정을 직접 넣는 방법도 있으나 깔끔하지 못해 개인적으로는 잘 사용하지 않는 방법입니다.  DB계정 추가 및 권한 설정은 예전에 작성한 포스트를 참고해주세요. 2. 추가된 DB계정의 비밀번호…

Read More Read More

[PHP] 페이지 내용이 출력되지 않거나 소스 그대로 출력되는 문제 해결방법

[PHP] 페이지 내용이 출력되지 않거나 소스 그대로 출력되는 문제 해결방법

화면에 아무런 내용이 출력되지 않거나 PHP 소스가 찍혀나오는 경우가 있습니다. 소스 문법상 오류도 없고 아무 이상이 없는데 말이죠. 이런 경우는 PHP 설정을 확인해보시기 바랍니다. php.ini 파일 또는 phpinfo(); 를 통해 php 설정값을 확인가능합니다. 여기서 확인해봐야 할 내용은 short_open_tag 옵션입니다. 만약 이 옵션이 OFF로 되어있다면 이 녀석이 범인입니다. short_open_tag란 PHP코드의 시작과 끝을 <? ~ ?>로 사용할 수 있게 끔 해주는 옵션입니다. OFF로 설정되어있다면 <? 로 시작하는 경우 PHP가 해석을 하지 못합니다. <?php 로 시작을 해야 해석이 됩니다. 위 증상은 short_open_tag를 OFF로…

Read More Read More

[Linux] CVE-2015-0235(GHOST) 취약점 긴급 이슈

[Linux] CVE-2015-0235(GHOST) 취약점 긴급 이슈

지난 1월 27일 CVE-2015-0235(GHOST) 취약점 이슈가 발견되었습니다. 이 취약점은 공격자가 ID, 패스워드 검증 없이 원격제어가 가능해지는 치명적인 문제를 가지고 있습니다. 이를 통해 공격자는 쉽게 악성코드를 삽입하거나 디도스 공격등으로 악용할 수 있기 때문에 필히 업데이트를 해주셔야 합니다. 발표일자 : 2015/01/27 분류코드 : CVE-2015-0235 대상 OS – Ubuntu 12.04 LTS, Ubuntu 10.04 LTS – CentOS 5/6/7, 데비안7, 레드햇 엔터프라이즈 리눅스(RHEL) 5/6/7 (말은 이렇게 하지만 거의 대부분의 리눅스 기반 OS에 해당합니다. 난 아니겠지 NO) 업데이트(해결) 방법 – glibc 패키지 업데이트 – 레드햇 계열 #…

Read More Read More

[WP] xmlrpc.php 취약점을 이용한 DDOS 공격 대응 방법

[WP] xmlrpc.php 취약점을 이용한 DDOS 공격 대응 방법

최근까지 이 블로그가 백지 상태가 되는 경우가 있었습니다. 처음엔 대수롭지 않게 웹서버를 재시작 시키곤 했는데 이 증상이 시간이 갈 수록 자주 발생하게 되었습니다. 이틀에 한번 꼴로 먹통이 되어버리는 상황까지 오게되어 원인을 찾게 됐습니다. 아파치 로그를 살펴본 결과 1~2분 단위로 같은 IP들을 발견하게 되었고 이들의 공통점은 워드프레스 최상단 경로에 위치한 xmlrpc.php 파일을 접근하고 있다는 점이었습니다.   (현재는 접근이 차단되어 Error를 발생시키고 있는 모습) 동일 사례를 찾아보니 이 현상은 워드프레스의 취약점 중 하나인 xmlrpc.php를 이용해 DDOS 공격의 경유지로 활용하는 행위였습니다. 다시말해 블로그…

Read More Read More

Sealick.com – 2014.12.24 Open

Sealick.com – 2014.12.24 Open

작년 말부터 1년에 1개 이상의 서비스를 만들어보자라고 목표를 세웠습니다. 그렇게 제일 먼저 이 블로그가 만들어졌고 지금은 하루에 3~400명씩 생각보다 많은 분들이 다녀가게 되었습니다. 이는 제가 기대 이상으로 활성화가 되어 관리를 소홀히 할 수 없는 이유가 되었습니다.     그리고 이번에는 sealick이라는 이름의 웹사이트입니다. 처음에는 어느 것에도 구애받지 않고 제한 없이 내가 만들어보고 싶은 것을 해보자라고 생각하고 10월 초에 작업을 시작했습니다. 만드는 내내 생각하는 것을 혼자서 추상화 시키기란 쉽지가 않았습니다. 거두절미하고 이 Sealick이라는 녀석을 만든 이유는.. “온라인상에서는 하루에 수십 개씩 이슈가…

Read More Read More

[JS] 팝업창 닫는 스크립트 실행 시 확인창 없애는 방법

[JS] 팝업창 닫는 스크립트 실행 시 확인창 없애는 방법

* 확인 결과 이 방법은 크롬 브라우저에서는 문제가 있는 듯 합니다. 해결되면 내용 추가할 예정입니다. 팝업창을 띄우고 무언가를 선택하거나 닫기 버튼을 누르면 현재 팝업창이 닫히는 것을 구현하고자 할때 단순하게는 window.close(); 을 사용합니다. 하지만 이 경우 “창을 닫으시겠습니까?” 확인창이 출력되어 바로 닫히지 않습니다. 그럴땐 흔히 이런 방법을 사용합니다. self.opener = self; window.close(); 포커스에 변화를 주어 확인창이 뜨지 않고 바로 팝업창을 닫게 하는 방법입니다. 하지만 이 방법에도 문제가 있습니다. IE8이하에서는 제대로 동작하지 않는다는 것이죠. 그래서 아래 방법을 사용합니다. window.open(“about:blank”,”_self”).close(); 이 방법은 IE8이하에서도 문제없이 동작합니다.

[Linux] 콘솔에서 sql 파일 실행하는 방법

[Linux] 콘솔에서 sql 파일 실행하는 방법

쉘 환경에서 sql 파일을 실행시키는 방법을 소개합니다. 주로 백업받은 테이블이나 DB 데이터를 복원할때 사용하게 되겠습니다. # cd /sql (sql 파일이 있는 디렉토리로 이동) # mysql -u 접속계정 -p (mysql 접속) mysql> source ./data.sql  

[Linux] Vi 에디터에서 문자열 치환하기

[Linux] Vi 에디터에서 문자열 치환하기

Vi 에디터를 이용해 자주 사용되는 치환하는 방법을 소개합니다. 치환하는 방법에도 여러가지 옵션이 있습니다만 간략하게 하나만 소개드립니다. :%s/찾을문자/바꿀문자/gi – %s : 문서 전체 – g : 한줄에 동일 패턴이 여러개 존재하는 경우 모두 적용 – i : 대소문자 구분 안함