質問編集履歴

5

2018/04/05 11:16

投稿

TanakashiXr
TanakashiXr

スコア57

title CHANGED
File without changes
body CHANGED
@@ -39,7 +39,7 @@
39
39
 
40
40
  <input type="hidden" name="token" value="<?=$token?>">
41
41
  <center>
42
- <div class="g-recaptcha" data-callback="clearcall" data-sitekey="シークレットキー"></div>
42
+ <div class="g-recaptcha" data-callback="clearcall" data-sitekey="サイトキー"></div>
43
43
  </center>
44
44
  <input type="submit" value="登録する" name="button" class="recaptcha btn-attention-block-large" disabled>
45
45
  </form>
@@ -61,11 +61,7 @@
61
61
  ```UTF-8
62
62
  session_start();
63
63
  header("Content-type: text/html; charset=utf-8");
64
- //クロスサイトリクエストフォージェリ(CSRF)対策のトークン判定
64
+
65
- if ($_POST['token'] != $_SESSION['token']){
66
- echo "不正アクセスの可能性あり";
67
- exit();
68
- }
69
65
  //クリックジャッキング対策
70
66
  header('X-FRAME-OPTIONS: SAMEORIGIN');
71
67
  //データベース接続
@@ -92,5 +88,6 @@
92
88
  }else{
93
89
  //認証成功時の処理をここに書く
94
90
  //以下 データベース登録、メール送どなど
91
+
95
92
  ?>
96
93
  ```

4

2018/04/05 11:15

投稿

TanakashiXr
TanakashiXr

スコア57

title CHANGED
File without changes
body CHANGED
File without changes

3

2018/04/05 10:57

投稿

TanakashiXr
TanakashiXr

スコア57

title CHANGED
File without changes
body CHANGED
@@ -2,4 +2,95 @@
2
2
 
3
3
  参考:[Googleの「reCAPTCHA」を5分で実装する](https://www.google.co.jp/amp/s/liapoc.com/recaptcha.html/amp)
4
4
 
5
- 原因のお分かりの方いらっしゃったらご指摘お願い致します。
5
+ 原因のお分かりの方いらっしゃったらご指摘お願い致します。
6
+
7
+ 〜追記〜
8
+ フォーム
9
+ ```UTF-8
10
+ <!DOCTYPE html>
11
+ <html lang="ja">
12
+ <meta charset="utf-8">
13
+ <head>
14
+ <title>会員登録</title>
15
+ <link rel="stylesheet" href="style.css">
16
+
17
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
18
+
19
+ <script src="https://www.google.com/recaptcha/api.js"></script>
20
+ <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
21
+
22
+ </head>
23
+ <body>
24
+ <div align="right">
25
+ <a href="index.php">トップページ</a><br>
26
+ </div>
27
+ <center>
28
+ <h1>仮会員登録</h1>
29
+ </center>
30
+ <Hr Align="center" Width="500" Size="5" Color="000000">
31
+
32
+
33
+ <div class="col-xs-6 col-xs-offset-3">
34
+ <h2>仮メールの送信</h2>
35
+
36
+ <form action="registration_mail_check.php" method="post">
37
+
38
+ <p>メールアドレス:<input type="text" name="mail" size="50"></p><br>
39
+
40
+ <input type="hidden" name="token" value="<?=$token?>">
41
+ <center>
42
+ <div class="g-recaptcha" data-callback="clearcall" data-sitekey="シークレットキー"></div>
43
+ </center>
44
+ <input type="submit" value="登録する" name="button" class="recaptcha btn-attention-block-large" disabled>
45
+ </form>
46
+
47
+ <script type="text/javascript">
48
+ function clearcall(code) {
49
+ if(code !== ""){
50
+ $(':submit[name=button]').removeAttr("disabled");
51
+ }
52
+ }
53
+ </script>
54
+
55
+ </div>
56
+ </body>
57
+ </html>
58
+ ```
59
+
60
+ 出力先
61
+ ```UTF-8
62
+ session_start();
63
+ header("Content-type: text/html; charset=utf-8");
64
+ //クロスサイトリクエストフォージェリ(CSRF)対策のトークン判定
65
+ if ($_POST['token'] != $_SESSION['token']){
66
+ echo "不正アクセスの可能性あり";
67
+ exit();
68
+ }
69
+ //クリックジャッキング対策
70
+ header('X-FRAME-OPTIONS: SAMEORIGIN');
71
+ //データベース接続
72
+ require_once("db.php");
73
+ $dbh = db_connect();
74
+ //エラーメッセージの初期化
75
+ $errors = array();
76
+
77
+ $recaptcha = htmlspecialchars($_POST["g-recaptcha-response"],ENT_QUOTES,'UTF-8');
78
+ if(isset($recaptcha)){
79
+ $captcha = $recaptcha;
80
+ }else{
81
+ $captcha = "";
82
+ echo "captchaエラー";
83
+ exit;
84
+ }
85
+ $secretKey = "シークレットキー";
86
+ $resp = @file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret={$secretKey}&response={$captcha}");
87
+ $resp_result = json_decode($resp,true);
88
+ if(intval($resp_result["success"]) !== 1) {
89
+ //認証失敗時の処理をここに書く
90
+ header("Location: registration_mail_form.php");
91
+ exit;
92
+ }else{
93
+ //認証成功時の処理をここに書く
94
+ //以下 データベース登録、メール送どなど
95
+ ?>
96
+ ```

2

2018/04/05 10:57

投稿

TanakashiXr
TanakashiXr

スコア57

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  以下のサイト様を参考にreCAPTCHAの実装をしたところフォームアクションの出力先にて403エラーが発生します。
2
2
 
3
- 参考:https://www.google.co.jp/amp/s/liapoc.com/recaptcha.html/amp
3
+ 参考:[Googleの「reCAPTCHA」を5分で実装する](https://www.google.co.jp/amp/s/liapoc.com/recaptcha.html/amp)
4
4
 
5
5
  原因のお分かりの方いらっしゃったらご指摘お願い致します。

1

2018/04/05 10:49

投稿

TanakashiXr
TanakashiXr

スコア57

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,5 @@
1
1
  以下のサイト様を参考にreCAPTCHAの実装をしたところフォームアクションの出力先にて403エラーが発生します。
2
2
 
3
- 参考:https://www.google.co.jp/amp/s/liapoc.com/recaptcha.html/amp
3
+ 参考:https://www.google.co.jp/amp/s/liapoc.com/recaptcha.html/amp
4
+
5
+ 原因のお分かりの方いらっしゃったらご指摘お願い致します。