폼메일보내기에 구글 리캡차적용하기 문의드립니다.

폼메일보내기에 구글 리캡차적용하기 문의드립니다.

QA

폼메일보내기에 구글 리캡차적용하기 문의드립니다.

본문

폼메일보내기에 리캡챠를 적용하려고 합니다. 그누보드 리캡챠를 적용하려고 q&a에 문의 해서 적용해봤는데 제 실력이 모자라 적용을 못했습니다. 

그래서 구글리캡챠를 적용해보려고 합니다.

구글에 접속해서 site key, secret key를 발급받아서 formmail.html에 site key를 넣어서 리캡차화면이 나오게하기는 했습니다.

 

리캡챠를 확인안해도 폼메일이 발송됩니다.

secret key를 이용해서 서버에서 verify하게 한다고 하는데 이 부분을 잘 모르겠습니다.

secret key를 어디에 붙여넣기해서 적용하는지, 별도의 파일을 만들어서 서버에 올리는지, secret key를 어떻게 사용하는지?

고수님들의 조언을 구합니다. secret key를 발급받기만 하고 사용을 안한 상태입니다.

감사합니다.

 

 

* code

<!DOCTYPE html>
<html>
<head>
  <title>Modal Formmail</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
  </script>
    
    <!--google recaptcha-->
    <script src='https://www.google.com/recaptcha/api.js'></script>

    
  <style>
  .modal-header, h4, .close {
      background-color: #5cb85c;
      color:white !important;
      text-align: center;
      font-size: 30px;
  }
  .modal-footer {
      background-color: #f9f9f9;
  }
  </style>
</head>
<body>

<div class="container">
  <h2>Modal Formmail</h2>
    
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-default btn-lg" id="myBtn">Send Email</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
          
          <!--Modal header-->
        <div class="modal-header" style="padding:35px 50px;">
          <button type="button" class="close" data-dismiss="modal">×</button>
          <h4><span class="glyphicon glyphicon-lock"></span>Formmail Sending</h4>
        </div>
          
          <!--Modal body-->
        <div class="modal-body" style="padding:40px 50px;">
          <!--Form-->
          <form method="post" action="form_mail.php">
            <legend> 홈페이지 문의</legend>
              
              <!--usrname-->
            <div class="form-group">
              <label for="name"><span class="glyphicon glyphicon-user"></span> Name</label>
              <input type="text" class="form-control" id="name" name="name" placeholder="Enter Name">
            </div>          
              
              <!--phone-->
            <div class="form-group">
              <label for="phone"><span class="glyphicon glyphicon glyphicon-phone"></span>Phone </label>
              <input type="text" class="form-control" id="phone" name="phone" placeholder="************">
            </div>

            <!--email-->
            <div class="form-group">
              <label for="email"><span class="glyphicon glyphicon-envelope"></span>Email </label>
              <input type="email" class="form-control" id="email" name="email" placeholder="">
            </div>
              
            <!--confer site-->
            <div class="form-group">
                <label for="confer"><span class="glyphicon glyphicon-leaf"></span>Confer Site </label>
              <input type="text" class="form-control" id="confer" name="confer" placeholder="">
            </div>
              
            <!--domains-->
            <div class="form-group">
              <label for="domain"><span class="glyphicon glyphicon-globe"></span>Domail have? </label>
              <input type="text" class="form-control" id="domain" name="domain" placeholder="Yes I have">
            </div>
              
            <!--content-->
            <div class="form-group">
              <label for="content"><span class="glyphicon glyphicon-pencil"></span> </label>
              <textarea name="content" cols="60" rows="10"   style="border:#000 solid thin" >I need this type of Homepage.</textarea>
            </div>
              
<!--google recaptcha-->
<div class="g-recaptcha" data-sitekey="6LfXcBkUAAAAACXOOkUO6GzkGU_RBwVYO9K_8Ltn"></div>              
              
             <!--button-->
              <button type="submit" class="btn btn-success btn-block"><span class=""></span> Send
              </button>
            </form>
          </div>

          <!--Modal footer-->
        <div class="modal-footer">
          <button type="submit" class="btn btn-danger btn-default pull-left" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> Cancel</button>
          <p>Not a member? <a href="#">Sign Up</a></p>
          <p>Forgot <a href="#">Password?</a></p>
        </div>
      </div>
      
    </div>
  </div> 
</div>
<!-- 내용 추가 -->
    
<!--스크립트--> 
<script>
$(document).ready(function(){
    $("#myBtn").click(function(){
        $("#myModal").modal();
    });
});
</script>

</body>
</html>

이 질문에 댓글 쓰기 :

답변 3

폼메일을 발송하는 php 스크립트에서 인증단계를 확인해야합니다.(form_mail.php) post로 넘어온 구글 캡챠 확인값을 이용해 구글서버를 curl을 통해 검증하고 인증이 정상적으로 수행되었는지 여부를 확인하셔야 합니다. (google recaptcha 페이지를 참조하세요)

폼메일을 발송하면 <form action="fomrmail_action.php>의 action에 나오는 페이지로 가서 메일이 발송되는데요

secret key 값을 formmail_action.php이페이지에 넣어서 verify하나요? 그렇다면 어떻게 하는지요?

답변해주셔서 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,641
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT