Cloudflare Turnstileの導入について

フォーラム 使い方全般 Cloudflare Turnstileの導入について

  • このトピックには2件の返信、2人の参加者があり、最後にPCCにより1ヶ月、 2週前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #103862
    PCC
    参加者

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
    WordPress のバージョン:(6.8.3)
    Welcart e-Commerce (2.11.24)
    ご利用の親テーマとバージョン :(例 Welcart Basic 1.8.5)
    ご利用の子テーマとバージョン :(例 Welcart Beldad 1.0.0)
    サーバー【重要】:(SAKURA)
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

    GoogleのリキャプチャーV3が有料化されることから、Cloudflare Turnstileへ移行を実施しました。
    スパム防止のため会員登録画面や会員ログイン画面にCloudflare Turnstileを導入するには、PHPの編集等を行う必要があるのでしょうか。「Simple Cloudflare Turnstile」等のプラグインではできないのでしょうか?

    #103867
    ikd
    キーマスター

    PCC 様
    こんにちは。
    実装にあたっては、何らかの編集作業が必要になるのではないかと思われます。
    大変恐れ入りますが、「Simple Cloudflare Turnstile」をWelcartで利用できるかどうかは、現時点では未検証でございます。
    もしお試しいただけるようでしたら、Welcartの機能や他のプラグインとの競合にご注意ください。
    また、その際は、検証結果などをご共有いただけますと幸いです。

    #103868
    PCC
    参加者

    「Simple Cloudflare Turnstile」に限らず、導入できないか考え、他のプラグインを使用せずPHPの編集で導入できるか試してみました。

    1.テンプレート
    member/wc_login_page.php等の各PHPファイルの(form)タグ内の送信ボタンの直前に下記を記載。

    2.functions.phpの下部に下記コードを記載。
    function validate_turnstile_response() {
    if (empty($_POST[‘cf-turnstile-response’])) return false;

    $response = sanitize_text_field($_POST[‘cf-turnstile-response’]);
    $secret = ‘発行したCloudflare Turnstileのシークレットキー’;

    $verify = wp_remote_post(‘https://challenges.cloudflare.com/turnstile/v0/siteverify’, [
    ‘body’ => [
    ‘secret’ => $secret,
    ‘response’ => $response,
    ‘remoteip’ => $_SERVER[‘REMOTE_ADDR’]
    ]
    ]);

    $result = json_decode(wp_remote_retrieve_body($verify), true);
    return isset($result[‘success’]) && $result[‘success’];

    以上を他のプラグインを使用せずに追加で書き込んだところ、コンタクトフォーム7に設定したものと同様の動作をしているようにみえました。
    ただ、実際に動作が正常に動いているかは不明であるので、よろしければ追加で検証を頂けると幸いです。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。