/home/mjc1/public_html/inc_pack/CAPTCHA/index3.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
  session_start
();

  if(
$_GET['mode']=='submit'){
      
$client_id "mMt2llKaVO0qNS6SW0cm"// 네이버 개발자센터에서 발급받은 CLIENT ID
      
$client_secret "rTLSOqN91F";// 네이버 개발자센터에서 발급받은 CLIENT SECRET
      
$code "1";
      
$key $_SESSION['CAPTCHA_KEY'];
      
$value $_POST['naver_captcha'];
      
$url "https://openapi.naver.com/v1/captcha/nkey?code=".$code."&key=".$key."&value=".$value;
      
$is_post false;
      
$ch curl_init();
      
curl_setopt($chCURLOPT_URL$url);
      
curl_setopt($chCURLOPT_POST$is_post);
      
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
      
$headers = array();
      
$headers[] = "X-Naver-Client-Id: ".$client_id;
      
$headers[] = "X-Naver-Client-Secret: ".$client_secret;
      
curl_setopt($chCURLOPT_HTTPHEADER$headers);
      
$response curl_exec ($ch);
      
$status_code curl_getinfo($chCURLINFO_HTTP_CODE);
      
curl_close ($ch);
      if(
$status_code == 200) {
        echo 
$response;
      } else {
        echo 
"Error 내용:".$response;
      }
      exit;

  }
  
// 네이버 캡차 Open API 예제 - 키 발급
  
$client_id "mMt2llKaVO0qNS6SW0cm";
  
$client_secret "rTLSOqN91F";
  
$code "0";
  
$url "https://openapi.naver.com/v1/captcha/nkey?code=".$code;
  
$is_post false;
  
$ch curl_init();
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_POST$is_post);
  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
  
$headers = array();
  
$headers[] = "X-Naver-Client-Id: ".$client_id;
  
$headers[] = "X-Naver-Client-Secret: ".$client_secret;
  
curl_setopt($chCURLOPT_HTTPHEADER$headers);
  
$response curl_exec ($ch);
  
$status_code curl_getinfo($chCURLINFO_HTTP_CODE);
  
curl_close ($ch);
  
  
$json json_decode($response);
  
$CAPTCHA_KEY $json->key;
  
$_SESSION['CAPTCHA_KEY'] = $CAPTCHA_KEY;

  
// 네이버 캡차 Open API 예제 - 이미지수신
  
$client_id "mMt2llKaVO0qNS6SW0cm";
  
$client_secret "rTLSOqN91F";
  
$key $CAPTCHA_KEY;
  
$url "https://openapi.naver.com/v1/captcha/ncaptcha.bin?key=".$key;
  
$is_post false;
  
$ch curl_init();
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_POST$is_post);
  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
  
$headers = array();
  
$headers[] = "X-Naver-Client-Id: ".$client_id;
  
$headers[] = "X-Naver-Client-Secret: ".$client_secret;
  
curl_setopt($chCURLOPT_HTTPHEADER$headers);
  
$response curl_exec ($ch);
  
$status_code curl_getinfo($chCURLINFO_HTTP_CODE);
  
curl_close ($ch);
  if(
$status_code == 200) {
    
//echo $response;
    
$fp fopen("./cap_img/captcha.jpg""w+");
    
fwrite($fp$response);
    
fclose($fp);
    
$capt_img "<img src='./cap_img/captcha.jpg'>";
  } else {
    
$capt_img "Error 내용:".$response;
  }

?>
<html>
  <head>
    <title>reCAPTCHA demo: Explicit render after an onload callback</title>
    <script>
        var onSubmit = function(token) {
          console.log('success!');
        };

        var onloadCallback = function() {
          grecaptcha.render('submit', {
            'sitekey' : '6LcgQsoUAAAAAOhinbS6iEKagw8UryMwXPuNbas3',
            'callback' : onSubmit
          });
        };
    </script>
  </head>
  <body>
    <form action="?mode=submit" method="POST">
    <input type='text' name='naver_captcha' value=''>
      <input id='submit' type="submit" value="Submit">
    </form>
    <?php echo $capt_img;?>
  </body>
</html>