티스토리

꿈꾸는 개발자
검색하기

블로그 홈

꿈꾸는 개발자

b.redinfo.co.kr/m

webmaster@redinfo.co.kr

구독자
0
방명록 방문하기
공지 YMusic 플러그인 개발중단 안내 모두보기

주요 글 목록

  • 코드이그나이터 - 데이터베이스 쿼리의 값을 이스케이프 시키기 ☞ 이스케이프 문자와 인젝션 우리가 알고 있는 이스케이프 문자는 \(백슬래시) 로 시작되는 문자이며, 이스케이프는 PHP 나 기타 프로그래밍시 문자열에 대한 제어를 할 수 있는데 이러한 이스케이프 문자열중 자주 쓰이는 문자열은 \n(줄바꿈), \s(띄어쓰기), \t(들여쓰기-Tab), \\(백슬래시) 등이 있다. 프로그래밍시 데이터베이스에서 쿼리의 값을 이스케이프시키는건 보안의 좋은 예 중 하나이다. 그 이유는 어렵게 생각할 필요는 없다. 만약 데이터베이스를 잘 모른다면 어렵게 다가올 수 있으나, 데이터베이스를 좀 다루어 본 사람이라면, 금방 알 수 있을것이다. 데이터데이스에서 쿼리를 통하여 검색, 삽입, 삭제, 업데이트 가 이루어지는데 이러한 데이터들을 PHP에서 처리한다면 기본적으로 큰 따옴표(") .. 공감수 4 댓글수 2 2015. 9. 29.
  • 코드이그나이터 - Encryption (암호화) 클래스 ☞ 암호화 클래스란? 암호화 클래스란, PHP 에서 처리되는 데이터를 암호화시켜주는 클래스이다. PHP 에서 제공되는 MD5 또는 SHA1 처럼 생각할 수 있으나, CI에서 암호화클래스는 이런 암호화 뿐만 아니라 이보다 더 높은 기술을 가진 암호화 기술들이 제공되기 때문에 상당히 유용한 클래스로 볼 수 있다. 또한 데이터 암호화 뿐만 아니라 복호화도 지원이 되기 때문에, 사용자들에게 보여지는 민감한 데이터를 암호화시켜 보안을 높일 수 있다. 암호화 클래스에서는 기본적으로 2가지의 방법이 제공된다고 메뉴얼에 기재되어있는데 이는 Mcrypt 라이브러리 와 랜덤해쉬 XOR 인코딩 방법들이다. 하지만 Mxrypt 라이브러리 같은 경우 서버에서 사용이 불가능하다면, 암호화된 메세지는 암호화세션 또는 적절한 수준의.. 공감수 5 댓글수 0 2015. 9. 23.
  • 코드이그나이터 - Email 클래스의 이해와 환경설정 ☞ Email 클래스란? CI 에서 Email 클래스란 말그대로 이메일을 보낼 수 있도록 이메일에 대한 함수들이 담긴 클래스 이다. 여기서 중요한점은 CI 에서는 정말 간단한 설정과 코딩으로 보낼 수 있다는 점이다. 나같은 경우 처음 CI 를 이용해 이메일 기능을 만들때 복잡할 줄 알았지만, CI 메뉴얼데로 해보니 정말 간편하고 쉽게 기능을 만들 수 있어서 좋았다. 우선적으로 CI의 메뉴얼을 보면 이메일 클래스는 아래와 같은 기능들이 제공된다고 나와있다. 아래의 기능은 CI 3.0 을 기준으로 작성되었다. CI 3.0 에서 추가된 부분은 굵은 글씨로 표시해 두었기때문에 CI의 버전별 메뉴얼을 참고하여 보면 도움이 될것이다. Multiple Protocols: Mail, Sendmail, and SMTP .. 공감수 2 댓글수 1 2015. 9. 23.
  • 코드이그나이터 - 코어(Core) 시스템 클래스 대체와 확장 ☞ 코어(Core) 시스템 클래스 란? 코어 시스템 클래스는 코드이그나이터에서 CI 가 작동될때마다, 자동으로 초기화 되어, 사용자가 로드하지 않아도, 작동되는 클래스를 뜻한다. 한가지 쉬운 예를 들면, URI 클래스를 들 수 있다. 이 클래스는 환경설정파일인 autoload 에서 자동로드 를 설정하거나 사용자가 임의로 로드해 주지 않아도 CI에서 작동될때마다 자동으로 초기화가 이루이지게 되는데 이러한 클래스를 코어 시스템 클래스라고 한다. 코어 시스템 클래스 같은 경우 CI의 메뉴얼을 보면 사용자가 수정하기엔 여러가지 위험이 따른다고 설명이 되어있다. 하지만 멋데로 수정하지 않는 이상 위험까지 따르지는 않으니, 안심해도 된다. 물론 나의 개인적인 생각일 뿐이다. ☞ 코어(Core) 시스템 클래스 목록 .. 공감수 3 댓글수 0 2015. 9. 17.
  • 코드이그나이터 - 오류표시 설정 일반적으로 웹싸이트를 제작한뒤 운영할때 간혹 오류표시 기능을 끄지 않아, PHP 오류들이 그대로 노출되는 경우가 많다. 오류표시 노출의 경우, 웹서버의 경로나, 공개되어선 안되는 PHP 관련 변수들이 노출되어, 해커같은 악성사용자들의 좋은 먹잇감이 되기도 한다. 물론, URL로 특정 경로접근이 막아져 있는 경우는 경로에 대해 크게 걱정할 필요는 없겠지만, DB 오류와 관련된 부분들은 상당히 위험할 수 있다. 또한 웹싸이트의 오류를 일반 사용자들이 본다면, 그다지 좋아하지는 않을것이다. 이와 같이 오류에 대한 설정은 웹싸이트 운영을 할 시 상당히 중요하다. CI 에서는 index.php 파일에서 오류표시 기능을 설정할 수 있다. 물론, 일반적으로 ini_set() 함수 또는 php.ini 설정파일에서 에러.. 공감수 9 댓글수 2 2015. 7. 19.
  • 코드이그나이터 - index.php 죽이기 ☞ CI 에서 index.php 죽이기란? 사실 index.php 를 죽인다는 말은 rewrite 모듈을 접해보지 않은 사람이라면 이해가 안갈 수 있다. 나도 처음 날코딩을 하다가 코드이그나이터를 접했을 때, 이 말을 알게 되었다. 그때 당시 index.php 죽이기라는 말을 이해하는것 보다는 공유되어있는 파일을 그냥 가져다가 썻던걸로 기억한다. 본론으로 들어가서 index.php 죽이기 라는 말은 코드이그나이터의 규칙을 생각하면서 보면 이해하기 쉽다. 일반적으로 코드이그나이터의 URL 형식은 아래와 같다. http://호스트주소/index.php/컨트롤러/함수/파라미터 위와 같이 코드이그나이터에서는 기본적으로 index.php 를 거쳐야만 application 과 system 파일들을 로드하여 CI의 .. 공감수 16 댓글수 1 2015. 6. 12.
  • 코드이그나이터 환경설정 - routes.php ☞ routes.php (CI 3.0) routes.php 에서는 컨트롤러의 기본 설정과 URI 라우팅 설정을 추가 할 수 있다. URI 라우팅 설정 같은 경우 옵션이므로, 아래의 메뉴얼을 참고하여 설정하면 될것이다. 3.0 메뉴얼 2.1.0 한글 메뉴얼 아래는 routes.php 파일의 내용에 대한 설명이다. 설명 같은 경우 주석으로 되어있으니 주석을 참고하면 된다. config/routes.php 공감수 4 댓글수 0 2015. 6. 3.
  • 코드이그나이터 환경설정 - database.php ☞ database.php (CI 3.0) database.php 에서는 데이터베이스 라이브러리를 사용과 관련된 환경설정들을 할 수 있다. 데이터베이스를 사용하지 않고 웹을 서비스한다면 상관없겠지만, 데이터 베이스를 사용하지 않는 웹은 거의 없을거라고 생각한다. 데이터베이스 설정에 앞서, CI 에서 데이터베이스 기본 설정값을 로드하는 방법은 아래와 같다. $this->load->database(); 만약 데이터베이스 의 사용이 전역적으로 빈번하게 이루어 진다면 환경설정 파일인 autoload.php 를 열어서 자동로드에 database 라이브러리를 추가해 주면된다. 아래는 database.php 파일의 내용에 대한 설명이다. 설명 같은 경우 주석으로 되어있으니 주석을 참고하면 된다. config/data.. 공감수 6 댓글수 0 2015. 6. 2.
  • 코드이그나이터 환경설정 - config.php ☞ config.php (CI 3.0) config.php 는 CI 의 기본적인 기능을 설정 하는 파일이다. 이 설정값에 따라 CI 의 작동여부가 가려지는것이 많으니 꼭 알아두어야 한다. 주된 기능은 웹의 정보를 설정하는 부분과, CI의 라이브러리, 헬퍼, 드라이버 또는 CI의 기능 들의 사용여부를 설정할 수 있다. 사용자가 CI의 라이브러리를 사용함에 있어서, config.php 에 설정된 값이 따라 실행이 안되는 경우도 있다. 이는 PHP 버전이 낮거나, config 의 환경설정 값이 FALSE 로 되어있는 경우다. 이렇듯 CI의 라이브러리를 사용할때는 제일먼저 메뉴얼을 읽어보는 습관을 길러야 한다. 즉 아무리 뛰어난 개발자도 처음 다루어 보는 프레임워크를 메뉴얼 없이는 아무것도 할 수 없기 때문이다.. 공감수 4 댓글수 0 2015. 5. 29.
  • 코드이그나이터 환경설정 - autoload.php ☞ autoload.php (CI 3.0) autoload.php 는 CI 에서 사용되는 패키지, 라이브러리, 드라이버, 헬퍼, 모델, 환경설정, 언어설정 파일등을 자동으로 로드하고 싶을때 사용한다. 한가지 예를 들면 사용자가 자신이 만든 라이브러리 또는 CI 의 기본라이브러리를 사용할 시 아래와 같이 CI 로드 클래스를 이용하여 사용할려는 라이브러리를 먼저 로드해주어야한다. $this->load->library('session'); 이렇게 필요할때마다 로드해 주는건 컴파일 수행시간을 단축시킬 수 있기때문에 상당히 유용하다. 하지만, 자주 쓰이는 것들은 이렇게 계속 로드해주기란 정말 귀찮은 일이다. 특히나 session 과 database 같은 경우, 전역으로 쓰이는 경우가 많기 때문에autoload 를.. 공감수 5 댓글수 0 2015. 5. 28.
  • 코드이그나이터 환경설정 - 소개 ☞ CI 의 application 과 system 코드이그나이터를 설치하면 application 폴더와 system 폴더를 볼 수 있다. 이 두개는 중요한 역활을 한다. 사용자가 수정해야할 폴더는 application 로 CI 의 규칙에 따라 코딩하면된다. system 폴더같은 경우 코드이그나이터가 동작하기 위해 필요한 기능들이 들어있기때문에 마음데로 수정하지 않는게 좋다. ☞ 코드이그나이터 환경설정 코드이그나이터를 설치하면, 끝나는게 아니라 환경설정 또한 해주어야한다. 물론, 처음 CI 를 접했다면 어떤것을 설정해 주어야할 지 모를것이다. 하지만, 어려울건 없다. CI에서는 기본적으로 파일마다 주석에 설명이 나와 있기때문에, 그것을 참고하여 설정하면된다. 환경설정의 경로는 CI 설치후 별다른 수정을 하.. 공감수 2 댓글수 0 2015. 5. 28.
  • 코드이그나이터 설치과정 ☞ 코드이그나이터 다운로드 당연한 소리겠지만, 코드이그나이터를 먼저 다운로드하도록하자. 만약 한글 메뉴얼을 이용하고 싶으면, 2.X 버전을 받도록 하자. 2.X 버전은 코드이그나이터 한국사용자 포럼 에 한글로된 메뉴얼 2.1.0 이 있기 때문에, 처음 시작할 떄 많은 도움을 얻을 수 있다. 코드이그나이터 다운로드 Link 코드이그나이터 한글 메뉴얼 2.1.0 (Codeigniter 공식 싸이트) 여기서는 현재 기준으로 최신버전인 3.0을 다운받았다. 3.0 같은 경우 2.x 버전과 크게 다르지는 않지만, 몇가지 기능들이 변경되거나, 추가되었다. 또한 변경된 기능중 작동하지 않는 기능도 존재하는것같다. ☞ 코드이그나이터 설치 다운받은 파일을 서버에 업로드 시켜서, 압축을 풀어보자, 아래 그림은 윈도우상에서.. 공감수 2 댓글수 0 2015. 5. 28.
  • 내가 생각하는 코드이그나이터의 기초 ☞ CI의 URL 방식과 기본적인 URL 방식 많은 사람들이 웹개발도구로 공개된 프레임워크를 사용한다. 물론 프레임워크 없이 코딩을 하거나 자신들만의 프레임워크를 사용하는 곳도 있지만, 그렇지 않을 경우, 공개된 프레임워크중 하나를 사용하기 마련이다. 그중에서 사람들이 가장 쉽게 접근할 수 있는 프레임워크중 하나로 CI 를 예로 들 수 있다. CI같은 경우 PHP를 잘몰라도, 다른 프로그래밍 언어를 잘 배웠다면, 쉽게 접근할 수 있다. 하지만, 다른 프로그래밍 언어를 잘 다루더라도 웹의 기본적인 지식이 없는 경우, CI를 통해 웹을 만들더라도, 이해할 수 없는 부분이 많을 것이다. 그이유는 CI 자체가 프레임워크중 하나일뿐 웹의 구성 방식은 크게 설명하지는 않기 때문이다. 이말이 무슨말인지 처음에는 이해.. 공감수 3 댓글수 0 2015. 5. 27.
  • 코드이그나이터를 사용한 CSRF 방어 ☞ CSRF 란? CSRF 란 Cross Site Request Forgery 의 약자로, 간단하게 설명하면, 웹싸이트의 취약점 공격의 하나이다. 자세한 뜻은 위키백과사전에 자세히 나와있기 때문에 그것을 참고하면된다. 솔직히 자기 수준에서 이해할려고 하는게 좋지 전문가의 수준에서는 이해할려고 하는건, 정신건강에 해롭다. 일반적으로 CSRF 는 사용자가 신뢰하고 있는 싸이트의 상태를 노리기 때문에 사용자의 입장에서는 정말 위험한 공격에 노출되어 있는것이다. 다시 말해, 신뢰하고 있는 A라는 싸이트에서 로그인하고, 사용자가 로그인상태에서 B라고 하는 공격자 싸이트 또는 게시물등을 이용하게됨으로 써 공격을 당하게 된다. 앞서 말했다시피 CSRF 같은경우 CSRF 이라는 키워드로 구글링을 하여도 많이 나오기 때.. 공감수 12 댓글수 0 2015. 4. 28.
  • 코드이그나이터(CodeIgniter) 3.0 소개 (로고출처 : 코드이그나이터 한국 사용자 그룹 - http://www.codeigniter-kr.org) CI 3.0버전이 나온지는 2015년 3월 19일 로 보면 꽤 오래되었다.RC1 부터 시작하여 현재는 RC3(Release Candidate3) 까지 나와있는것같다. 지금으로부터 불과 한달전만해도 RC2였는데 벌써 RC3가 되었다. 아무튼 무작성 사용하기엔 무리가 없지만서도, 몇가지 바뀐부분과, 추가된 부분들이 있기때문에, 많이 거슬린다. 우선 C.I RC3 를 아래의 링크를 통해 다운받도록 하자. CodeIgniter 다운로드 싸이트 (코드이그나이터 다운로드 화면) 위의 싸이트를 접속하면 위의 그림과 같이 친절하게 3.X 버전과 2.X 버전을 다운로드 할 수 있도록 서비스하고있다. 만약 웹을 새로 .. 공감수 4 댓글수 0 2015. 3. 20.
  • 코드이그나이터(CodeIgniter) 시작 (로고출처 : 코드이그나이터 한국 사용자 그룹 - http://www.codeigniter-kr.org) ☞ 코드이그나이터 와 프레임워크 코드이그나터는 PHP로 이루어져 있는 하나의 웹개발 프레임워크 이다. 일반적으로 웹프로그래머는 PHP,ASP,JSP 중 하나는 분명 접해봤을것이다. 이러한 것들은 웹싸이트 제작에 필요한 서버측 언어로, 웹 개발을 할 때 쓰이며, 전부 개발 프레임워크가 존재한다. 프레임워크의 장점은 구글에서 "프레임워크 장점" 만 입력해도 많은 정보를 찾아볼 수 있다. 물론 단점에 대한 글도 찾아볼 수 있지만, 나같은 경우는 자체 개발프레임워크가 아닌이상은 그렇게 공감은 되지 않는것같다. 또한 요즘은 프레임워크도, 자신이 제작하는 싸이트에 맞게 적절히 수정하여 사용하기 때문에, 메뉴얼만.. 공감수 9 댓글수 0 2015. 3. 7.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.