ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿はreCAPTCHA v3 使い方について説明します。
前提
公式ドキュメントは以下のURLを参照。
https://developers.google.com/recaptcha/intro
reCAPTCHA v3を使用するにはキー登録が必要となる。
以下のURLからキー登録ができる。
headタグ
headタグ内に以下の記述をする。
|
<script src='https://www.google.com/recaptcha/api.js?render=Site Key'></script> |
Site keyは自身のものを入力する。
formの作成
|
<!-- 送信ボタン --> </form> <!-- reCAPCTHA --> <script> function commentSubmitFunc() { grecaptcha.ready(function() { grecaptcha.execute('Site Key', {action: 'Action Name'}) .then(function(token) { $('#test_form').prepend('<input type="hidden" name="g-recaptcha-response" value="' + token + '">'); $('#test_form').submit(); }); }); }</script> |
formの送信ボタンを押したらgrecaptcha.executeを呼び出すようにする。
その際にtokenをサーバーサイドに渡してやる必要がある。
Action Nameには以下のものが指定できる。(公式サイトより抜粋)
homepage See a cohesive view of your traffic on the admin console while filtering scrapers. login With low scores, require 2-factor-authentication or email verification to prevent credential stuffing attacks. social Limit unanswered friend requests from abusive users and send risky comments to moderation. e-commerce Put your real sales ahead of bots and identify risky transactions.
※どなたか適切な日本語訳をお願いします。
本稿のサンプルではhomepageを指定する。
サーバサイドの実装
|
$gRecaptchaResponse = $_POST["g-recaptcha-response"]; $reCaptchaUrl = "https://www.google.com/recaptcha/api/siteverify?secret=Secret key&response=" . $gRecaptchaResponse; $response = @file_get_contents($reCaptchaUrl); $response = json_decode($response,true); if ($response['success'] != true or $response['score'] < 0.5 ){ //エラー処理 } |
Secret keyは自身のものを入力する。
APIにSecret keyとtokenを渡すことでレスポンスを取得できる。
以下、レスポンスの内容。(公式サイトより抜粋)
|
{ "success": true|false, // whether this request was a valid reCAPTCHA token for your site "score": number // the score for this request (0.0 - 1.0) "action": string // the action name for this request (important to verify) "challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ) "hostname": string, // the hostname of the site where the reCAPTCHA was solved "error-codes": [...] // optional } |
ポイントはsuccessとscoreの値。
scoreの幅は1.0~0.0で低いほどbotである可能性が高くなる。
この値を見てbotかどうかを判断する必要がある。
※どの程度の値を設定することがベストなのか情報求む。人が操作するとだいたい0.9になることが多いらしい。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
最近更新/作成されたページ
- 【Java】warファイルの中身を確認する方法 2026-04-09 11:03:22
- Spring Frameworkのアノテーション一覧 2026-04-09 11:03:22
- IT総合Wiki|プログラミング・DB・ネットワークの学習ガイド 2026-04-09 11:03:22
- Laravelのエラー一覧|原因と対処の入口ページ 2026-04-09 11:03:22
- テスト用記事seoa 2026-04-08 16:02:24
- UE5ブループリントでレベル間のパラメータを受け渡す方法 2025-04-07 22:28:13
- Get Socket Transformとは? 2025-04-07 04:26:12
- UE5でOverlapした位置の座標を取得する方法 2025-04-05 10:43:58
- UE5で「Overlapは発生するがHitは発生しない」原因とは? 2025-04-05 03:43:53
- UE5における「Overlap」と「Hit」の違いとは? 2025-04-05 03:36:20
- Niagaraのエフェクトにコリジョンを持たせる方法 2025-04-04 05:32:13
- UE5で毎秒実行するイベントの定義方法 2025-04-03 01:59:15
- UE5のBPにおけるVInterp Toの詳細解説 2025-04-03 01:29:56
- UE5のRInterp ToとVInterp Toの違い 2025-04-03 01:28:10
- UE5のBPにおけるRInterp Toの詳細解説 2025-04-03 01:04:22
コメントを削除してもよろしいでしょうか?