php만으로도 캡챠기능을 만들 수 있지만, 좀 더 확실하고 안전한 구글 리캡챠를 사용해보자.
1. 구글 리캡챠 홈페이지(https://developers.google.com/recaptcha/intro) 에 들어가서 'sign up for an API key pair'를 클릭
2. 라벨을 마음대로 적고 reCAPTCHA v2를 선택하고 동의 한다.
3. 사이트 키와 비밀키를 복사해둔다.
4. 코드 작성
1. joinForm.php
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/api.js" async defer>
</script>
</head>
<body>
<form action="join.php" method="post">
<table style="margin:auto;">
<tr>
<td>아이디</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>비밀번호</td>
<td><input type="password" name="pw"></td>
</tr>
<tr>
<td>비밀번호 확인</td>
<td><input type="password" name="pw2"></td>
</tr>
<tr>
<td colspan="2">
<div id="captcha" class="g-recaptcha" data-sitekey="사이트키"></div>
</td>
</tr>
</table>
<div style="text-align:center;">
<button type="submit">가입하기</button>
</div>
</form>
</script>
</body>
</html>
2. join.php
<?
$captcha = $_POST['g-recaptcha-response'];
$secretKey = '시크릿키';
$ip = $_SERVER['REMOTE_ADDR'];
$data = array(
'secret' => $secretKey,
'response' => $captcha,
'ip' => $ip
);
$parameter = http_build_query($data);
$url = "https://www.google.com/recaptcha/api/siteverify?".$parameter;
$response = file_get_contents($url);
$responseKeys = json_decode($response, true);
if ($responseKeys["success"]) {
echo '캡챠 성공';
echo '<br/>';
echo '가입을 진행하세요.';
} else {
echo '<script>
alert(\'가입실패\');
history.go(-1);
</script>';
}
?>
'프로그래밍 > PHP' 카테고리의 다른 글
카카오톡 챗봇 (1) 간략 개념 (0) | 2019.12.26 |
---|---|
php로 메일보내기2 - html 메일 보내기 (1) | 2019.11.22 |
PHP로 메일 보내기 1 (0) | 2019.11.22 |
PHP 만으로 간단한 CAPTCHA 이미지를 만들어보자 (0) | 2019.11.10 |
Bitnami 설치 후 각종 설정하기 (0) | 2019.11.10 |
WRITTEN BY
,