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($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, $is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $headers = array(); $headers[] = "X-Naver-Client-Id: ".$client_id; $headers[] = "X-Naver-Client-Secret: ".$client_secret; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec ($ch); $status_code = curl_getinfo($ch, CURLINFO_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($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, $is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $headers = array(); $headers[] = "X-Naver-Client-Id: ".$client_id; $headers[] = "X-Naver-Client-Secret: ".$client_secret; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec ($ch); $status_code = curl_getinfo($ch, CURLINFO_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($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, $is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $headers = array(); $headers[] = "X-Naver-Client-Id: ".$client_id; $headers[] = "X-Naver-Client-Secret: ".$client_secret; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec ($ch); $status_code = curl_getinfo($ch, CURLINFO_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>
|