META 태그 속성

  1. http-equiv="항목명"
    웹 브라우저가 서버에 명령을 내리는 속성으로 name 속성을 대신하여 사용될 수 있으며, HTML 문서가 응답 헤더와 함께 웹 서버로부터 웹 브라우저에 전송되었을 때에만 의미를 갖습니다.

  1. content="정보값"
    meta 정보의 내용을 지정합니다.
  2. name="정보 이름"
    몇 개의 meta 정보의 이름을 정할 수 있으며 지정하지 않으면 http-equiv 와 같은 기능을 합니다.

META 태그 사용법

<html>
    <head>
        <meta name="subject" content="toy code project" />
        <meta name="description" content="디자이너, 퍼블리셔, 프론트엔드, 백엔드" />
        <title>TOY CODE</title>
    </head>
    <body>
        //...code
    </body>
</html>

META 태그 종류

  1. KEYWORD
    검색이 되는 단어들을 정의합니다.

     <meta name="Keywords" content="디자이너, 퍼블리셔, 프론트엔드, 백엔드" />
  2. DESCRIPTION
    검색 결과에 표시되는 단어를 정의합니다.

      <meta name="Description" content="디자이너, 퍼블리셔, 프론트엔드, 백엔드" />
  3. ROBOTS
    검색 로봇을 제어합니다.

    • All (Default) : 'index, follow' 를 지정한 것과 같습니다.
    • None : 'noindex, nofollow' 를 지정한 것과 같습니다.
    • Index : 이 페이지를 수집 대상으로 지정합니다.
    • Follow : 이 페이지를 포함, 링크가 걸린 모든 페이지를 수집 대상으로 지정합니다.
    • Noindex : 이 페이지를 수집 대상에서 제외합니다.
    • Nofollow : 이 페이지를 포함, 링크가 걸린 모든 페이지를 수집 대상에서 제외합니다.
    • 아래와 같은 속성도 사용되지만 웹표준에서 인정하지 않는, 권고되지 않은 방식입니다.
    • Noarchive : 그 페이지를 캐시하지 않습니다.
    • Noimageindex : 그 페이지에 포함된 이미지를 검색 대상에서 제외합니다.
    • Noimageclick : 그 페이지에 포함된 이미지의 링크를 방지합니다.
      <meta name="Robots" content="index, follow" />
  4. CONTENT-TYPE
    문자 인코딩을 설정합니다.

    • EUC-KR / ISO-2022-KR : 한국어 문자 인코딩
    • EUC-JP / ISO-2022-JP : 일본어 문자 인코딩
    • GB2312 : 중국어 문자 인코딩
    • ISO-8859-1 : 북미, 서부유럽, 라틴 아메리카, 카리브해, 캐나다, 아프리카
    • ISO-8859-2 : 동유럽
    • ISO-8859-3 : 남동유럽, 에스페란토
    • ISO-8859-4 : 스칸디나비아, 발트 연안국
    • ISO-8859-5 : 불가리아어, 벨로루시어, 러시아어, 마케도니아
    • ISO-8859-6 : 아랍문자
    • ISO-8859-7 : 현대 그리스문자 언어뿐 만 아니라 수학 기호
    • ISO-8859-8 : 히브리어 문자를 사용하는 언어
    • ISO-8859-9 : 터키어
    • ISO-8859-10 : 에스키모, 북유럽 언어
    • UTF-8, UTF-16, UTF-32 : 모든 언어의 문자를 지원하는 인코딩
    • ISO-* 타입의 문자 설정은 크기의 제한이 있습니다. 또한 다국어 환경 ( 영문과 중문, 일문, 한글을 함께 사용하는 경우 )에서 호환되지 않기 때문에 유니코드 컨소시엄이 개발한 유니코드 표준 문자로 지정해야합니다. ( 대표적으로 UTF )
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. DATE
    사이트를 생성한 날짜를 명시해 줍니다.사용할 때 content '+09:00' 은 GMT(그리니치 표준시)로 부터의 시차이며, 한국은 '+09:00', 미국 동부는 '-05:00'(서머타임 때에는 -04:00)이 되며 나라/지역에 따라 결정됩니다.

      <meta name="Date" content="2021-08-04T07:45:37+09:00" />
  6. SUBJECT
    홈페이지의 주제를 지정해 줍니다.

      <meta name="Subject" content="TOY CODE PROJECT" />
  7. TITLE
    홈페이지의 제목을 지정해 줍니다.

      <meta name="Title" content="TOY CODE" />
  8. AUTHOR
    페이지를 제작한 제작자 이름을 지정해 줍니다.

      <meta name="Author" content="eaim93k" />
  9. PUBLISHER
    페이지를 제작한 제작사의 명칭을 지정해 줍니다.

      <meta name="Publisher" content="toy project" />
  10. OTHER AGENT
    페이지의 책임자를 지정해 줍니다.

      <meta name="Other Agent" content="eaim93k" />
  11. GENERATOR
    페이지의 제작도구를 지정해 줍니다.

      <meta name="Generator" content="VUE.JS 3.X" />
  12. EMAIL, REPLAY-TO
    이메일 주소를 지정해 줍니다.

      <meta name="Replay-To" content="email@eamil.com" /> <meta name="Email" content="email@eamil.com" />
  13. FILENAME
    이 페이지의 파일 이름을 지정해 줍니다.

      <meta name="Filename" content="index.html" />
  14. LOCATION
    회사의 위치를 지정해 줍니다.

      <meta name="Location" content="서울특별시" />
  15. DISTRIBUTION
    이 페이지를 배포한 사람을 지정해 줍니다.

      <meta name="Distribution" content="eaim93k" />
  16. COPYRIGHT
    이 페이지의 저작권을 지정해 줍니다.

      <meta name="Copyright" content="eaim93k" />
  17. REFRESH
    새로고침이나 페이지를 전환할 때 사용합니다.

      <!-- 120초 후에 페이지를 새로고침 -->
      <meta name="Refresh" content="120" />
      <!-- 10초 후에 페이지를 지정 URL로 이동 -->
      <meta name="Refresh" content="10;url=naver.com" />
  18. PAGE-ENTER
    페이지 진입시 전환 효과를 지정해 줍니다.

    • Box out : 네모난 박스가 안쪽에서 바깥쪽으로
    • Circle in : 원이 바깥에서 안쪽으로
    • Circle out : 원이 안쪽에서 바깥쪽으로
    • Wipe up : 이미지의 아래에서 위쪽으로 수직 이동
    • Wipe down : 이미지의 위에서 아래쪽으로 수직 이동
    • Wipe right : 이미지의 왼쪽에서 오른쪽으로 수평 이동
    • Wipe left : 이미지의 오른쪽에서 왼쪽으로 수평 이동
    • Vertical blinds : 수직 블라인드가 쳐지는 형태로 변환
    • Horizontal blinds : 수평 블라인드가 쳐지는 형태로 변환
    • Checkerboard across : 바둑판 형태의 격자가 왼쪽에서 오른쪽으로 생성
    • Checkerboard down : 바둑판 형태의 격자가 위에서 아래로 생성
    • Random dissove : 안개와 비슷한 형태로 전환
    • Split vertical in : 왼쪽과 오른쪽 끝에서 중앙으로 수직 이동
    • Split vertical out : 중앙에서 양쪽 끝으로 수직 이동
    • Split Horizontal in : 양쪽에서 중앙으로 수평 이동
    • Split Horizontal out : 중앙에서 양쪽끝으로 수직이동
    • Strips left down : 대각선 형태로 오른쪽 상단에서 왼쪽 하단으로 이동
    • Strips left up : 대각선 형태로 오른쪽 하단에서 왼쪽 상단으로 이동
    • Strips right down : 대각선 형태로 왼쪽 상단에서 오른쪽 하단으로 이동
    • Strips right up : 대각선 형태로 왼쪽 하단에서 오른쪽 상단으로 이동
    • Random bars horizontal : 수평선이 무작위로 생성
    • Random bars vertical : 수직선이 무작위로 생성
    • Random : 임의로 생성
      <meta name="Page-Enter" content="revealtrans(Duration=1,Transition=12)" />

'WEB > HTML' 카테고리의 다른 글

[HTML] 버튼 클릭으로 이미지 다운로드  (0) 2017.12.27
[HTML] link 태그 사용법  (0) 2017.12.12
[HTML] 메타(meta) 태그  (0) 2017.12.12
[HTML] 주석 및 띄어쓰기, 선긋기(hr 태그)  (0) 2017.12.05
[HTML] class와 id의 정의  (0) 2017.12.05



예전 글이나 돌아다니는 글들을 보면

 

str.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

 

이런 형태로 천단위 콤마를 찍는 경우가 많다.

하지만 더 간단한 방법이 있다.

 

str.toLocaleString();

 

을 사용하면 된다.




ajax를 사용하려면 jquery를 불러오는건 필수다.

 

그렇지 않게 하려면 순수 자바스크립트로 짜야하는데 그 방법은

XMLHttpRequest을 사용하면 된다.

 

기본 사용 법은 간단하다.


var xhr = new XMLHttpRequest();

xhr.open('post', 'url');
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {

            console.log(xhr.responseText);
        } else alert("요청오류 : " + xhr.status);
    }
}
xhr.send(form);

'WEB > 비동기 통신' 카테고리의 다른 글

[Ajax] 기본  (0) 2017.11.28



 ~ ! @ # $ % ^ & * \ " ' + = ` | ( ) [ ] { } : ; - _ - # & & @ § ※ ☆ ★ ○ ● ◎ ◇ ◆ □ ■ △ ▲ ▽ ▼ → ← ← ↑ ↓ ↔ 〓
◁ ◀ ▷ ▶ ♤ ♠ ♡ ♥ ♧ ♣ ⊙ ◈ ▣ ◐ ◑ ▒ ▤ ▥ ▨ ▧ ▦ ▩ ♨ ☏ ☎ ☜ ☞ ¶ † ‡ ↕ ↗ ↙ ↖ ↘ ♭ ♩ ♪ ♬ ㉿ ㈜
№ ㏇ ™ ㏂ ㏘ ℡ ® ª º ─ │ ┌ ┐ ┘ └ ├ ┬ ┤ ┴ ┼ ━ ┃ ┏ ┓ ┛ ┗ ┣ ┳ ┫ ┻ ╋ ┠ ┯ ┨ ┷ ┿ ┝ ┰ ┥ ┸ ╂ ┒
┑ ┚ ┙ ┖ ┕ ┎ ┍ ┞ ┟ ┡ ┢ ┦ ┧ ┩ ┪ ┭ ┮ ┱ ┲ ┵ ┶ ┹ ┺ ┽ ┾ ╀ ╁ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊
+ - < = > ± × ÷ ≠ ≤ ≥ ∞ ∴ ♂ ♀ ∠ ⊥ ⌒ ∂ ∇ ≡ ≒ ≪ ≫ √ ∽ ∝ ∵ ∫ ∬ ∈ ∋ ⊆ ⊇ ⊂ ⊃ ∪ ∩ ∧ ∨ ¬ ⇒ ⇔ ∀ ∃ ∮ ∑ ∏
! ' , . / : ; ? ^ _ ` |  ̄ 、 。 · ‥ … ¨ 〃 ­ ― ∥ \ ∼ ´ ~ ˇ ˘ ˝ ˚ ˙ ¸ ˛ ¡ ¿ ː
" ” 〔 〕 { } ‘ ’ “ ” 〔 〕 〈 〉 《 》 「 」 『 』 【 】
㉠ ㉡ ㉢ ㉣ ㉤ ㉥ ㉦ ㉧ ㉨ ㉩ ㉪ ㉫ ㉬ ㉭ 
㉮ ㉯ ㉰ ㉱ ㉲ ㉳ ㉴ ㉵ ㉶ ㉷ ㉸ ㉹ ㉺ ㉻
㈀ ㈁ ㈂ ㈃ ㈄ ㈅ ㈆ ㈇ ㈈ ㈉ ㈊ ㈋ ㈌ ㈍
㈎ ㈏ ㈐ ㈑ ㈒ ㈓ ㈔ ㈕ ㈖ ㈗ ㈘ ㈙ ㈚ ㈛
ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ
⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂
$ % ₩ F ′ ″ ℃ Å ¢ £ ¥ ¤ ℉ ‰ € ㎕ ㎖ ㎗ ℓ ㎘ ㏄ ㎣ ㎤ ㎥ ㎦ ㎙ ㎚ ㎛ ㎜ ㎝ ㎞ ㎟ ㎠ ㎡ ㎢ ㏊ ㎍ ㎎ ㎏ ㏏ ㎈ ㎉ ㏈ ㎧ ㎨ ㎰ ㎱
㎲ ㎳ ㎴ ㎵ ㎶ ㎷ ㎸ ㎹ ㎀ ㎁ ㎂ ㎃ ㎄ ㎺ ㎻ ㎼ ㎽ ㎾ ㎿ ㎐ ㎑ ㎒ ㎓ ㎔ Ω ㏀ ㏁ ㎊ ㎋ ㎌ ㏖ ㏅ ㎭ ㎮ ㎯ ㏛ ㎩ ㎪ ㎫ ㎬ ㏝ ㏐ ㏓ ㏃ ㏉ ㏜ ㏆
ㄱ ㄲ ㄼ ㄽ ㄾ ㄿ ㅀ ㄷ ㄸ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅃ ㅄ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅣ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
ㅥ ㅦ ㅧ ㅨ ㅩ ㅪ ㅫ ㅬ ㅭ ㅮ ㅯ ㅰ ㅱ ㅲ ㅳ ㅴ ㅵ ㅶ ㅷ ㅸ ㅹ ㅺ ㅻ ㅼ ㅽ ㅾ ㅿ ㆀ ㆁ ㆂ ㆄ ㆅ ㆆ ㆇ ㆈ ㆉ ㆊ ㆋ ㆌ
ㆍ ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ¹ ² ³ ⁴ ⁿ ₁ ₂ ₃ ₄
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω
0 1 2 3 4 5 6 7 8 9 ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ

ꊒ ꊓ ꊔ ꊕ ꊖ ꊗ ꊘ ꊙ ꊚ ꊛ
ꊈ ꊉ ꊊ ꊋ ꊌ ꊍ ꊎ ꊏ ꊐ ꊑ
ꊦ ꊧ ꊨ ꊩ ꊪ ꊫ ꊬ ꊭ ꊮ ꊯ
ꊝ ꊞ ꊟ ꊠ ꊡ ꊢ ꊣ ꊤ ꊥ
ꋍ ꋎ ꋏ ꋐ ꋑ ꋒ ꋓ ꋔ ꋕ ꋖ
ꋠ ꋡ ꋢ ꋣ ꋤ ꋥ ꋦ ꋧ ꋨ ꋩ
ꊰ ꊱ ꊲ ꊳ ꊴ ꊵ ꊶ ꊷ ꊸ ꊹ 
ꊺ ꊻ ꊼ ꊽ ꊾ ꊿ ꋀ ꋁ ꋂ
꓌ ꓍ ꓎ ꓏ ꓐ ꓑ ꓒ ꓓ ꓔ ꓕ
꒐ ꒑ ꒒ ꒓ ꒔ ꒕ ꒖ ꒗ ꒘ ꒙
꒮ ꒯ ꒰ ꒱ ꒲ ꒳ ꒴ ꒵ ꒶ ꒷
꓂ ꓃ ꓄ ꓅ ꓆ ꓇ ꓈ ꓉ ꓊ ꓋
ꓖ ꓗ ꓘ ꓙ ꓚ ꓛ ꓜ ꓝ ꓞ ꓟ
ꓪ ꓫ ꓬ ꓭ ꓮ ꓯ ꓰ ꓱ ꓲ ꓳ 
ꓠ ꓡ ꓢ ꓣ ꓤ ꓥ ꓦ ꓧ ꓨ ꓩ
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂

ꈂ ꈃ ꈄ ꈅ ꈆ ꈇ ꈈ ꈉ ꈊ ꈋ ꈌ ꈍ ꈎ ꈏ ꈐ ꈑ ꈒ ꈓ ꈔ ꈕ
ꉭ ꉮ ꉯ ꉰ ꉱ ꉲ ꉳ ꉴ ꉵ ꉶ ꉷ ꉸ ꉹ ꉺ ꉻ ꉼ ꉽ ꉾ ꉿ ꊀ
ꆗ ꆘ ꆙ ꆚ ꆛ ꆜ ꆝ ꆞ ꆟ ꆠ ꆡ ꆢ ꆣ ꆤ ꆥ ꆦ ꆧ ꆨ ꆩ ꆪ
ꄽ ꄾ ꄿ ꅀ ꅁ ꅂ ꅃ ꅄ ꅅ ꅆ
㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉
㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
㆒ ㆓ ㆔ ㆕ ㆖ ㆗ ㆘ ㆙ ㆚ ㆛ 
ꈖ ꈗ ꈘ ꈙ ꈚ ꈛ ꈜ
ꊁ ꊂ ꊃ ꊄ ꊅ ꊆ ꊇ
ꆫ ꆬ ꆭ ꆮ ꆯ ꆰ ꆱ 
㊊ ㊋ ㊌ ㊍ ㊎ ㊏ ㊐
㈪ ㈫ ㈬ ㈭ ㈮ ㈯ ㈰

㋀ ㋁ ㋂ ㋃ ㋄ ㋅ ㋆ ㋇ ㋈ ㋉ ㋊ ㋋
㏠ ㏡ ㏢ ㏣ ㏤ ㏥ ㏦ ㏧ ㏨ ㏩ ㏪ ㏫ ㏬ ㏭ ㏮ 
㏯ ㏰ ㏱ ㏲ ㏳ ㏴ ㏵ ㏶ ㏷ ㏸ ㏹ ㏺ ㏻ ㏼ ㏽ ㏾
㍘ ㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟ ㍠ ㍡ ㍢ ㍣ ㍤ ㍥ ㍦ ㍧ ㍨ ㍩ ㍪ ㍫ ㍬ ㍭ ㍮ ㍯ ㍰ 

ꆲ ꆳ ꆴ ꆵ ꆶ ꆷ ꆸ ꆹ ꆺ ꆻ ꆼ ꆽ ꆾ 
ꆿ ꇀ ꇁ ꇂ ꇃ ꇄ ꇅ ꇆ ꇇ ꇈ ꇉ ꇊ ꇋ
ꇌ ꇍ ꇎ ꇏ ꇐ ꇑ ꇒ ꇓ ꇔ ꇕ ꇖ ꇗ ꇘ 
ꇙ ꇚ ꇛ ꇜ ꇝ ꇞ ꇟ ꇠ ꇡ ꇢ ꇣ ꇤ ꇥ
ꈝ ꈞ ꈟ ꈠ ꈡ ꈢ ꈣ ꈤ ꈥ ꈦ ꈧ ꈨ ꈩ 
ꈪ ꈫ ꈬ ꈭ ꈮ ꈯ ꈰ ꈱ ꈲ ꈳ ꈴ ꈵ ꈶ
ꈷ ꈸ ꈹ ꈺ ꈻ ꈼ ꈽ ꈾ ꈿ ꉀ ꉁ ꉂ ꉃ 
ꉄ ꉅ ꉆ ꉇ ꉈ ꉉ ꉊ ꉋ ꉌ ꉍ ꉎ ꉏ ꉐ 
ꍽ ꍾ ꍿ ꎀ ꎁ ꎂ ꎃ ꎄ ꎅ ꎆ ꎇ ꎈ ꎉ 
ꎊ ꎋ ꎌ ꎍ ꎎ ꎏ ꎐ ꎑ ꎒ ꎓ ꎔ ꎕ ꎖ
ꅇ ꅈ ꅉ ꅊ ꅋ ꅌ ꅍ ꅎ ꅏ ꅐ ꅑ ꅒ ꅓ 
ꅔ ꅕ ꅖ ꅗ ꅘ ꅙ ꅚ ꅛ ꅜ ꅝ ꅞ ꅟ ꅠ
ꅡ ꅢ ꅣ ꅤ ꅥ ꅦ ꅧ ꅨ ꅩ ꅪ ꅫ ꅬ ꅭ 
ꅮ ꅯ ꅰ ꅱ ꅲ ꅳ ꅴ ꅵ ꅶ ꅷ ꅸ ꅹ ꅺ
ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ 
ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ
⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ 
⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
a b c d e f g h i j k l m 
n o p q r s t u v w x y z

ꂛ ꂜ ꂝ ꂞ ꂟ ꂠ ꂡ ꂢ ꂣ ꂤ ꂥ ꂦ ꂧ ꂨ
ꆉ ꆊ ꆋ ꆌ ꆍ ꆎ ꆏ ꆐ ꆑ ꆒ ꆓ ꆔ ꆕ ꆖ
ꇴ ꇵ ꇶ ꇷ ꇸ ꇹ ꇺ ꇻ ꇼ ꇽ ꇾ ꇿ ꈀ ꈁ
ꉟ ꉠ ꉡ ꉢ ꉣ ꉤ ꉥ ꉦ ꉧ ꉨ ꉩ ꉪ ꉫ ꉬ
㉮ ㉯ ㉰ ㉱ ㉲ ㉳ ㉴ ㉵ ㉶ ㉷ ㉸ ㉹ ㉺ ㉻
㈎ ㈏ ㈐ ㈑ ㈒ ㈓ ㈔ ㈕ ㈖ ㈗ ㈘ ㈙ ㈚ ㈛
ꂩ ꂪ ꂫ ꂬ ꂭ ꂮ ꂯ ꂰ ꂱ ꂲ 
ꃳ ꃴ ꃵ ꃶ ꃷ ꃸ ꃹ ꃺ ꃻ ꃼ
ꇦ ꇧ ꇨ ꇩ ꇪ ꇫ ꇬ ꇭ ꇮ ꇯ ꇰ ꇱ ꇲ ꇳ
ꅻ ꅼ ꅽ ꅾ ꅿ ꆀ ꆁ ꆂ ꆃ ꆄ ꆅ ꆆ ꆇ ꆈ
ꉑ ꉒ ꉓ ꉔ ꉕ ꉖ ꉗ ꉘ ꉙ ꉚ ꉛ ꉜ ꉝ ꉞ
㈀ ㈁ ㈂ ㈃ ㈄ ㈅ ㈆ ㈇ ㈈ ㈉ ㈊ ㈋ ㈌ ㈍
㉠ ㉡ ㉢ ㉣ ㉤ ㉥ ㉦ ㉧ ㉨ ㉩ ㉪ ㉫ ㉬ ㉭

ꂳ ꂴ ꂵ ꂶ ꂷ ꂸ ꂹ ꂺ ꂻ ꂼ ꂽ ꂾ ꂿ ꃀ ꃁ ꃂ 
ꃃ ꃄ ꃅ ꃆ ꃇ ꃈ ꃉ ꃊ ꃋ ꃌ ꃍ ꃎ ꃏ ꃐ ꃑ ꃒ 
ꃓ ꃔ ꃕ ꃖ ꃗ ꃘ ꃙ ꃚ ꃛ ꃜ ꃝ ꃞ ꃟ ꃠ ꃡ ꃢ 
ꃣ ꃤ ꃥ ꃦ ꃧ ꃨ ꃩ ꃪ ꃫ ꃬ ꃭ ꃮ ꃯ ꃰ ꃱ ꃲ
ꃽ ꃾ ꃿ ꄀ ꄁ ꄂ ꄃ ꄄ ꄅ ꄆ ꄇ ꄈ ꄉ ꄊ ꄋ ꄌ 
ꄍ ꄎ ꄏ ꄐ ꄑ ꄒ ꄓ ꄔ ꄕ ꄖ ꄗ ꄘ ꄙ ꄚ ꄛ ꄜ 
ꄝ ꄞ ꄟ ꄠ ꄡ ꄢ ꄣ ꄤ ꄥ ꄦ ꄧ ꄨ ꄩ ꄪ ꄫ ꄬ 
ꄭ ꄮ ꄯ ꄰ ꄱ ꄲ ꄳ ꄴ ꄵ ꄶ ꄷ ꄸ ꄹ ꄺ ꄻ ꄼ 

ꍟ ꍠ ꍡ ꍢ ꍣ ꍤ ꍥ ꍦ ꍧ ꍨ ꍩ ꍪ
ꍯ ꍺ ꍻ ꍼ ꎗ ꎘ ꎙ ꎚ ꎛ ꎜ ꎝ ꎧ ꎨ ꏁ ꏂ ꎯ
ꍫ ꍬ ꍭ ꍮ ꎞ ꎟ ꎠ ꎡ ꎪ 
ꍰ ꍱ ꍲ ꍳ ꍴ ꍵ ꍶ ꍷ ꍸ ꍹ ꎼ ꎽ ꎾ ꎿ ꎮ ꎰ ꎲ ꎬ
ꎢ ꎣ ꎤ ꎥ ꎦ ꎩ ꎫ ꎭ ꎱ ꎳ ꎶ ꎷ ꎸ ꎹ ꎺ ꎻ ꏀ ꏃ ꏄ

困 囷 囹 固 囿 圁 圂 圃 圄 圈 圉 圊 
國 圍 園 圓 圖 團 圜 囚 因 囦 囫 囮
囘 囙 囜 囝 囡 团 団 囤 囥 囧 囨 囩 囪 囬 园 囯 囱 囲 図 围 囵 囶
囸 囻 囼 国 图 圀 圅 圆 圇 圌 圎 圏 圐 圑 圔 圕 圗 圙 圚 圛 圝 圞
㈱ ㈲ ㈳ ㈴ ㈵ ㈶ ㈷ ㈸ ㈹ ㈺ ㈻ ㈼ ㈽ ㈾ ㈿ ㉀ ㉁ ㉂ ㉃
㊑ ㊒ ㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊙ ㊚ ㊛ ㊜ ㊝ ㊞ ㊟ ㊠ 
㊡ ㊢ ㊣ ㊤ ㊥ ㊦ ㊧ ㊨ ㊩ ㊪ ㊫ ㊬ ㊭ ㊮ ㊯ ㊰

㋐ ㋑ ㋒ ㋓ ㋔ ㋕ ㋖ ㋗ ㋘ ㋙ ㋚ ㋛ ㋜ ㋝ ㋞ ㋟ ㋠ ㋡ ㋢ ㋣ ㋤ ㋥ ㋦ ㋧ 
㋨ ㋩ ㋪ ㋫ ㋬ ㋭ ㋮ ㋯ ㋰ ㋱ ㋲ ㋳ ㋴ ㋵ ㋶ ㋷ ㋸ ㋹ ㋺ ㋻ ㋼ ㋽ ㋾

㌀ ㌁ ㌂ ㌃ ㌄ ㌅ ㌆ ㌇ ㌈ ㌉ ㌊ ㌋ ㌌ ㌍ ㌎ ㌏ ㌐ ㌑ ㌒ ㌓ ㌔ ㌕ 
㌖ ㌗ ㌘ ㌙ ㌚ ㌛ ㌜ ㌝ ㌞ ㌟ ㌠ ㌡ ㌢ ㌣ ㌤ ㌥ ㌦ ㌧ ㌨ ㌩ ㌪ ㌫ 
㌬ ㌭ ㌮ ㌯ ㌰ ㌱ ㌲ ㌳ ㌴ ㌵ ㌶ ㌷ ㌸ ㌹ ㌺ ㌻ ㌼ ㌽ ㌾ ㌿ ㍀ ㍁ 
㍂ ㍃ ㍄ ㍅ ㍆ ㍇ ㍈ ㍉ ㍊ ㍋ ㍌ ㍍ ㍎ ㍏ ㍐ ㍑ ㍒ ㍓ ㍔ ㍕ ㍖ ㍗

ᐰ ᐱ ᐲ ᐳ ᐴ ᐵ ᐶ ᐷ ᐸ ᐹ ᐺ ᐻ ᐼ ᐽ ᐾ ᐿ ᑀ ᑁ ᑂ ᑃ ᑄ ᑅ ᑆ ᑇ ᑈ ᑉ ᑊ ᑋ ᑌ ᑍ ᑎ ᑏ 
ᑐ ᑑ ᑒ ᑓ ᑔ ᑕ ᑖ ᑗ ᑘ ᑙ ᑚ ᑛ ᑜ ᑝ ᑞ ᑟ ᑠ ᑡ ᑢ ᑣ ᑤ ᑥ ᑦ ᑧ ᑨ ᑩ ᑪ ᑫ ᑬ ᑭ ᑮ ᑯ 
ᑰ ᑱ ᑲ ᑳ ᑴ ᑵ ᑶ ᑷ ᑸ ᑹ ᑺ ᑻ ᑼ ᑽ ᑾ ᑿ ᒀ ᒁ ᒂ ᒃ ᒄ ᒅ ᒆ ᒇ ᒈ ᒉ ᒊ ᒋ ᒌ ᒍ ᒎ ᒏ 
ᒐ ᒑ ᒒ ᒓ ᒔ ᒕ ᒖ ᒗ ᒘ ᒙ ᒚ ᒛ ᒜ ᒝ ᒞ ᒟ ᒠ ᒡ ᒢ ᒣ ᒤ ᒥ ᒦ ᒧ ᒨ ᒩ ᒪ ᒫ ᒬ ᒭ ᒮ ᒯ 
ᓐ ᓑ ᓒ ᓓ ᓔ ᓕ ᓖ ᓗ ᓘ ᓙ ᓚ ᓛ ᓜ ᓝ ᓞ ᓟ ᓠ ᓡ ᓢ ᓣ ᓤ ᓥ ᓦ ᓧ ᓨ ᓩ ᓪ ᓫ ᓬ ᓭ ᓮ ᓯ 
ᓰ ᓱ ᓲ ᓳ ᓴ ᓵ ᓶ ᓷ ᓸ ᓹ ᓺ ᓻ ᓼ ᓽ ᓾ ᓿ ᔐ ᔑ ᔒ ᔓ ᔔ ᔕ ᔖ ᔗ ᔘ ᔙ ᔚ ᔛ ᔜ ᔝ ᔞ ᔟ 
ᔠ ᔡ ᔢ ᔣ ᔤ ᔥ ᔦ ᔧ ᔨ ᔩ ᔪ ᔫ ᔬ ᔭ ᔮ ᔯ ᔰ ᔱ ᔲ ᔳ ᔴ ᔵ ᔶ ᔷ ᔸ ᔹ ᔺ ᔻ ᔼ ᔽ ᔾ ᔿ 
ᕀ ᕁ ᕂ ᕃ ᕄ ᕅ ᕆ ᕇ ᕈ ᕉ ᕊ ᕋ ᕌ ᕍ ᕎ ᕏ ᕐ ᕑ ᕒ ᕓ ᕔ ᕕ ᕖ ᕗ ᕘ ᕙ ᕚ ᕛ ᕜ ᕝ ᕞ ᕟ 
ᕠ ᕡ ᕢ ᕣ ᕤ ᕥ ᕦ ᕧ ᕨ ᕩ ᕪ ᕫ ᕬ ᕭ ᕮ ᕯ ᕰ ᕱ ᕲ ᕳ ᕴ ᕵ ᕶ ᕷ ᕸ ᕹ ᕺ ᕻ ᕼ ᕽ ᕾ ᕿ 
ᖠ ᖡ ᖢ ᖣ ᖤ ᖥ ᖦ ᖧ ᖨ ᖩ ᖪ ᖫ ᖬ ᖭ ᖮ ᖯ ᖰ ᖱ ᖲ ᖳ ᖴ ᖵ ᖶ ᖷ ᖸ ᖹ ᖺ ᖻ ᖼ ᖽ ᖾ ᖿ 
ᗀ ᗁ ᗂ ᗃ ᗄ ᗅ ᗆ ᗇ ᗈ ᗉ ᗊ ᗋ ᗌ ᗍ ᗎ ᗏ ᗐ ᗑ ᗒ ᗓ ᗔ ᗕ ᗖ ᗗ ᗘ ᗙ ᗚ ᗛ ᗜ ᗝ ᗞ ᗟ 
ᗠ ᗡ ᗢ ᗣ ᗤ ᗥ ᗦ ᗧ ᗨ ᗩ ᗪ ᗫ ᗬ ᗭ ᗮ ᗯ ᗰ ᗱ ᗲ ᗳ ᗴ ᗵ ᗶ ᗷ ᗸ ᗹ ᗺ ᗻ ᗼ ᗽ ᗾ ᗿ 

ᘀ ᘂ ᘃ ᘄ ᘅ ᘆ ᘇ ᘈ ᘉ ᘊ ᘋ ᘌ ᘍ ᘎ ᘏ ᘐ ᘑ 
ᘒ ᘓ ᘔ ᘕ ᘖ ᘗ ᘘ ᘙ ᘚ ᘛ ᘜ ᘝ ᘞ ᘟ ᘠ ᘡ ᘢ 
ᘣ ᘤ ᘥ ᘦ ᘧ ᘨ ᘩ ᘪ ᘫ ᘬ ᘭ ᘮ ᘯ ᘰ ᘱ ᘲ ᘳ 
ᘴ ᘵ ᘶ ᘷ ᘸ ᘹ ᘺ ᘻ ᘼ ᘽ ᘾ ᘿ ᙀ ᙁ ᙂ ᙃ ᙄ 
ᙅ ᙆ ᙇ ᙈ ᙉ ᙊ ᙋ ᙌ ᙍ ᙎ ᙏ ᙐ ᙑ ᙒ ᙓ ᙔ ᙕ 
ᙖ ᙗ ᙘ ᙙ ᙚ ᙛ ᙜ ᙝ ᙞ ᙟ ᙠ ᙡ ᙢ ᙣ ᙤ ᙥ ᙦ 
ᙧ ᙨ ᙩ ᙪ ᙫ ᙬ ᙯ ᙰ ᙱ ᙲ ᙳ ᙴ ᙵ ᙶ 

ઁ ં ઃ અ આ ઇ ઈ ઉ ઊ ઋ 
ઍ એ ઐ ઑ ઓ ઔ ક ખ ગ 
ઘ ઙ ચ છ જ ઝ ઞ ટ ઠ ડ ઢ

इ उ ऊ ऋ ऌ क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त द न ऩ प फ ब भ म य र ऱ ल ळ ऴ व श ष स ह क़ ख़ ग़ ज़ ड़ ढ़ फ़ य़ ॠ ॡ

Ա Բ Գ Դ Ե Զ Է Ը Թ Ժ Ի Լ Խ Ծ Կ Հ Ձ Ղ Ճ Մ Յ Ն Շ Ո Չ Պ Ջ Ռ Ս Վ Տ Ր
ա բ գ դ ե զ է ը թ ժ ի լ խ ծ կ հ ձ ղ ճ մ յ ն ո չ պ ջ ռ ս վ տ ր ց ւ փ ք օ ֆ և

ឃ ង ច ឆ ឈ ញ ដ ឋ ឌ ឍ ណ ត ថ ទ ធ ន ប ផ ភ ម យ ល ឝ 
ឞ ស ឡ អ ឤ ឥ ឦ ឨ ឩ ឬ ឭ ឯ ឰ ឱ ឲ ឳ ឴ ឵ ា ១ ២ ៣ ៥ ៦ ៧ ៨ ៩

ஆ இ ஈ ஊ எ ஏ ஐ ஒ ஓ ஔ ஂ ஃ ா ி ௗ ங ஜ ஞ ண ந ன ம ய ற ல ள ழ வ ஸ ஹ ௧ ௨ ௩ ௪ ௫ 

а б в г д е ж з и й к л м н о п р с т у ф х ц 
ч ш щ ъ ы ь э ю я ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ў џ 

ހ ށ ނ ރ ބ ޅ ކ އ ވ މ ފ ދ ތ
ލ ގ ޏ ސ ޑ ޒ ޓ ޔ ޕ ޖ ޗ ޘ ޙ
ޚ ޛ ޜ ޝ ޞ ޟ ޠ ޡ ޢ ޣ ޤ ޥ

ਕ ਗ ਘ ਙ ਚ ਛ ਜ ਝ ਞ ਟ ਡ ਢ ਣ ਤ ਥ ਦ ਧ 
ਨ ਪ ਫ ਬ ਭ ਯ ਰ ਲ ਲ਼ ਵ ਸ ਹ ਖ਼ ਗ਼ ਜ਼ ੜ ਫ਼

ଆ ଇ ଈ ଉ ଊ ଋ ଌ ଐ ଓ ଔ ଖ ଗ ଘ ଙ ଛ ଜ ଝ ଞ ଟ ଢ ଣ ତ ଥ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ର ଳ ଶ ଷ ସ ହ

ం ః అ ఆ ఇ ఈ ఉ ఊ ఋ ఌ ఎ ఏ ఐ ఒ ఓ ఔ క ఖ గ ఘ ఙ చ ఛ జ ఝ ఞ ట
ఠ డ ఢ ణ త థ ద ధ న ప ఫ బ భ మ య ర ఱ ల ళ వ శ ష హ ా ి ౕ ౖ ౠ
ౡ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ ಂ ಃ ಅ ಆ ಇ ಈ ಉ ಊ ಋ ಌ ಎ ಏ ಐ ಒ ಓ ಔ ಕ ಖ ಗ ಘ ಙ ಚ ಛ ಜ ಝ ಞ ಟ ಠ ಡ ಢ ಣ ತ ಥ ದ ಧ ನ ಪ ಫ ಬ ಭ ಮ ರ ಱ ಲ ಳ ವ ಶ ಷ 

૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯
੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯

║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ 
╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ 

ꋰ ꋱ ꋲ ꋳ ꋴ ꋵ ꋶ ꋷ ꋸ ꋹ ꋺ ꋻ ꋼ ꋽ 
ꀢ ꀣ ꀤ ꀥ ꀦ ꀧ ꀨ ꀩ ꀪ ꀫ ꀬ ꀭ
ꀲ ꀳ ⇒ ⇔ ꀮ ꀯ ꀰ ꀱ 
← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙
ꀹ ꀺ ꀻ ꀼ ꀽ ꁼ ꁽ ꁾ ꁿ
ꀴ ꀵ ꀶ ꀷ ꀸ
ꀾ ꀿ ꁂ ꁃ ꁄ ꁅ ꎴ ꎵ
ꍖ ꍗ ꍘ ꍙ ꍚ ꍛ ꍜ ꍝ

܁ ܂ ܃ ܄ ܅ ܆ ܇ ܈ ܉
ꌈ ꌉ ꌊ ꌋ ꌌ ꌍ ꌎ ꌏ ꌐ ꌀ ꌁ ꀞ ꀟ

ꀆ ꀇ ꀈ ꀉ ꀊ ꀋ ꀌ ꀍ ꀎ ꀏ ꀐ ꀑ 
ꀒ ꀓ ꀔ ꀕ ꀖ ꀗ ꀘ ꀙ ꀚ ꀛ ꀜ ꀝ
༼ ༽ ༾ ༿ ⌠ ⌡ꌼ ꌽ ꌾ ꌿ ꍀ ꍁ ꍂ ꍃ ꍄ ꍅ ꍆ ꍇ ꍈ ꍉ ꍐ ꍑ

ꍊ ꍋ ꍌ ꍍ ꍎ ꍏ ꍒ ꍓ ꍔ ꍕ ᚛ ᚜

ꌑ ꌒ ꌓ ꌔ ꌕ ꌖ ꌗ ꌘ ꌙ ꌚ ꌛ ꌜ ꌝ ꌞ ꌟ ꌠ ꌡ ꌢ ꌣ ꌤ 
ꌥ ꌦ ꌧ ꌨ ꌩ ꌪ ꌫ ꌬ ꌭ ꌮ ꌯ ꌰ ꌱ ꌲ ꌳ ꌴ ꌵ ꌶ ꌷ
ꏪ ꏫ ꏬ ▒ ▓


ꁳ ꁴ ꁵ ꁶ ꁷ ꁸ
ꁣ ꁤ ꁥ ꁦ ꁧ ꁨ 
ꁩ ꁪ ꁫ ꁬ 
ꁭ ꁮ ꁯ ꁰ ꁱ ꁲ ◆ ◇ ◈
ꂔ ꂕ ꂗ ꂘ ꂙ
▣ ▤ ▥ ▦ ▧ ▨ ▩

ᚠ ᚡ ᚢ ᚣ ᚤ ᚥ ᚦ ᚧ ᚨ ᚩ ᚪ ᚫ ᚬ ᚭ ᚮ ᚯ ᚰ ᚱ ᚲ ᚳ ᚴ ᚵ ᚶ ᚷ ᚸ ᚹ ᚺ ᚻ 
ᚼ ᚽ ᚾ ᚿ ᛀ ᛁ ᛂ ᛃ ᛄ ᛅ ᛆ ᛇ ᛈ ᛉ ᛊ ᛋ ᛌ ᛍ ᛎ ᛏ ᛐ ᛑ ᛒ ᛓ ᛔ ᛕ ᛖ ᛗ ᛘ 
µ ¶ ܏ᛙ ᛚ ᛛ ᛜ ᛝ ᛞ ᛟ ᛠ ᛡ ᛢ ᛣ ᛤ ᛥ ᛦ ᛧ ᛨ ᛩ ᛪ ᛫ ᛬ ᛭ ᛮ ᛯ ᛰ

  ᚁ ᚂ ᚃ ᚄ ᚅ 
ᚆ ᚇ ᚈ ᚉ ᚊ 
ᚋ ᚌ ᚍ ᚎ ᚏ 
ᚐ ᚑ ᚒ ᚓ ᚔ 
ꁌ ꁍ ꁎ ꁏ ꁐ

♩ ♪ ♫ ♬ ♭ ꁔ ꁕ ꁖ ꁗ ꁛ ꁜ ꁝ ꁞ ꁟ ꁠ ꁡ
ꁑ ꁒ ꁓ ꁘ ꁙ ꁚ ꁢ

ꁇ ܀ ܊ ܋ ܌ ܍ ¤ ፨ ₪ ꂇ ◘ ◙ ⌂ ☺ ☻ ♀ ♂ ꋭ ꋯ ާ ި ީ ު ޫ ެ ޭ ޮ ᚗ ᚘ
፡ ። ፣ ፤ ፥ ፦ ፧ ‘ ’ ‚ ‛ “ ” „ ‥ … ‧ ′ ″ 〝 〞 〟

ꏯ ꏰ ꏱ ꏲ ꏳ ꏴ
ꏣ ꏤ ꏥ ꏦ ꏧ ꏨ ꏩ
ꏛ ꏜ ꏝ ꏞ ꏟ ꏠ ꏡ ꏢ
ꏍ ꏎ ꏏ ꏐ ꏑ ꏒ ꏇ ꏈ
ꏔ ꏕ ꏖ ꏮ ꂚ ꏅ ꏚ ꏋ
☼ ꀀ ꁋ ꂊ ꂐ ꏗ ꏘ ꏙ ꁉ ꏆ
ꁹ ꁺ ꁻ ꂂ ꂃ ꂅ ꂆ ꂈ ꂉ ꏊ ꏓ
ꂋ ꂌ ꂍ ꂎ ꂏ ꂑ ꂒ ꂓ ꂖ 〒

'ETC' 카테고리의 다른 글

[HTTP] 에러코드 정리  (0) 2017.11.29



index.php 죽이기를 했는데 코드이그나이터가 다른 하위 폴더에 있을 경우가 있다,
그럴 경우 엄청 난감한다.

index.php를 죽일때 폴더 위치까지 같이 설정해주면 된다.

index.php 죽이기를 할 때 설정한 .htaccess 파일이 있을 것이다.

그 파일을 열어준 다음
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ 경로/index.php/$1 [L]
</IfModule>

경로라고 적혀있는 부분에 하위 폴더의 이름을 적어주면 된다.

만약 폴더 경로가
naver.com/test1/test2/test3 안에 ci가 깔려있다고 가정하면


<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ test1/test2/test3/index.php/$1 [L] 
</IfModule>


이렇게 설정해주면 된다.




카카오 로그인 연동은 의외로 간단하다.

 

카카오 로그인 버튼을 커스터마이징 하게 설정하기 때문에 따로 버튼 생성은 하지 않겠다.

 

일단 카카오 개발자 센터에 들어가서 기본적인 세팅부터 해야한다.

 

1. 카카오 개발자 센터에 접속. https://developers.kakao.com/

2. 우측 상단의 로그인 버튼을 눌러 카카오 계정으로 로그인.

3. 앱 만들기 클릭

4. 이름과 회사명 입력 후 앱 만들기 버튼 클릭

5. 우측 메뉴 사용자 관리 클릭

6. 사용자 관리 활성화 버튼 클릭

7. 프로필 정보 수집 목적란에 "소셜로그인에 사용" 입력

8. 카카오계정(이메일)란의 수집조건을 '연결시 선택'으로 설정

9. 카카오계정(이메일)란의 수집목적을 '중요정보 전달 및 로그인 계정용으로 사용'으로 설정

10. 하단의 저장버튼 클릭

11. 좌측의 '일반' 클릭

12. 중앙 우측의 '플랫폼 추가' 버튼 클릭

13. '웹' 클릭

14. 내 사이트의 도메인을 입력. 사용하는 도메인이 여러개면 모두 입력

15. 추가 버튼을 클릭

16. 네이티브 앱 키, REST API 키 값을 기억해둠

 

여기까지하면 기본적인 세팅 및 설정을 완료한 것이다.

카카오 로그인은 네이버 로그인처럼 따로 검수등을 거치지 않아도 된다.

 

<a href="https://kauth.kakao.com/oauth/authorize?client_id=자신의 rest api key&redirect_uri=내리다이렉트url&response_type=code">카카오 로그인</a>

 

버튼만 생성해주고 api url만 걸어주면 끝이다.

 

그리고 나서 해야할 일이 아주 많아지는데

리다이렉트 url 파일로 이동해서 작업을 진행해야한다.

 

$get_data = $_GET;

 

$shell_string = "curl -v -X POST https://kauth.kakao.com/oauth/token -d 'grant_type=authorization_code' -d 'client_id=내 REST API KEY' -d 'redirect_uri=http://".$_SERVER['HTTP_HOST']."/oauth' -d 'code=".$get_data['code']."'";

$output = shell_exec($shell_string);

$token_json = json_decode($output, true);

 

$kakao_email_check = 0;
if (@!$token_json['access_token']) {
    echo "<script>alert('아이디 정보가 없습니다. 재시도 해주세요.');</script>";

    exit();
} else {
    $shell_string = "curl -v -X POST https://kapi.kakao.com/v2/user/me -H 'Authorization: Bearer ".$token_json['access_token']."' -d 'property_keys=[\"kakao_account.email\"]'";

$user_info = shell_exec($shell_string);

 

$user_info_json = json_decode($user_info, true);

 

if (!@$user_info_json['kakao_account']['email'];) {
    $shell_string = "curl -v -X POST https://kapi.kakao.com/v1/user/unlink -H 'Authorization: Bearer ".$token_json['access_token']."'";
    shell_exec($shell_string);

    alert('필수 정보에 동의하지 않으셨습니다. 로그인을 재시도 해주세요.', '_login');
}

 

print_r($user_info_json);

 

이렇게 하면 $user_info_json에 카카오 계정 정보가 담긴 것을 볼 수 있다.

저 $user_info_json에서 데이터를 뽑아서 회원가입을 시키든 로그인을 시키든 활용하면 될 것이다.




코드이그나이터 데이터 베이스 설정을 위해

application > config > database.php 파일로 이동을 한다.

 

기본 설정에서 PDO의 경우는 hostname을 사용하지않고 dsn을 사용해서 연결을 한다.

 

설정은 밑에처럼 기본적으로 설정을 해주면 되겠다.

 

$active_group = 'default';
$query_builder = TRUE;
$host = 'host';
$db_name = 'dbname';

$db['default'] = array(
    'dsn' => 'mysql:host='.$host.';dbname='.$db_name,
    //'hostname' => 'localhost',
    'username' => 'mysql id',
    'password' => 'mysql pw',
    'database' => $db_name,
    'dbdriver' => 'pdo',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

 

dsn의 사용과 dbdriver를 pdo로 바꿔주는게 핵심이다.

 

그리고 model에서는

 


$query = "SELECT * FROM `member` WHERE `where` = ?";
$result = $this->db->conn_id->prepare($query);
$result->execute(array('a'));

return $this->db->conn_id->lastInsertId();

 

형태로 사용하면 된다.




ALTER TABLE `table` CHANGE `기존 컬럼명` `변경 컬럼명` 타입 ex) int;


ALTER TABLE `table` ADD `추가 컬럼명` 타입;




root로 접속을 해서



사진에서 보이듯 


useradd 계정이름

passwd 계정이름


을 차례대로 치면 New password:가 뜬다.


새로운 비밀번호를 입력하고 Retype 이 뜨면 또 새로운 비밀번호를 쳐서

두 비밀번호가 동일할 경우 비밀번호가 업데이트 성공했다고 뜬다.


계정이 제대로 생성된걸 확인하고 싶으면


cat /etc/passwd

cut -f1 -d: /etc/passwd


두가지 방법중 하나로 확인하면 된다.




$_SERVER['HTTP_REFERER']

를 사용하면 이전 접속 경로를 확인할 수 있다.


단점은 주소를 직접 치고 들어오거나, 즐겨찾기에서 접속하는 경우

또 onclick 으로 접속하는 경우 REFERER로 체크가 불가능하다.

+ Recent posts