Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Mengesahkan Google reCAPTCHA v3 di Bahagian Pelayan?

Bagaimanakah Saya Mengesahkan Google reCAPTCHA v3 di Bahagian Pelayan?

Susan Sarandon
Lepaskan: 2024-11-03 09:15:29
asal
617 orang telah melayarinya

How Do I Validate Google reCAPTCHA v3 on the Server Side?

Menggunakan Google reCAPTCHA v3 di Bahagian Pelayan

reCAPTCHA v3 Google ialah kaedah pengesanan bot yang lebih maju berbanding pendahulu berasaskan kotak pilihannya. Walaupun melaksanakannya di bahagian hadapan adalah mudah, pengendalian pengesahan di bahagian pelayan memerlukan pendekatan yang berbeza.

Pengesahan reCAPTCHA v2 yang ditamatkan

Kod yang anda nyatakan gunakan untuk pengesahan reCAPTCHA v2 tidak lagi sesuai untuk v3. reCAPTCHA v3 menggunakan permintaan POST dengan parameter tambahan dan kunci rahsia untuk pengesahan.

Pengesahan berasaskan POST selamat untuk reCAPTCHA v3

Berikut ialah skrip PHP yang disemak menggunakan POST- pengesahan berdasarkan reCAPTCHA v3:

<code class="php">function isValid() {
    try {
        $url = 'https://www.google.com/recaptcha/api/siteverify';
        $data = [
            'secret'   => '[YOUR SECRET KEY]',
            'response' => $_POST['g-recaptcha-response'],
            'remoteip' => $_SERVER['REMOTE_ADDR']
        ];
        $options = [
            'http' => [
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            ]
        ];
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
        return json_decode($result)->success;
    } catch (Exception $e) {
        return null;
    }
}</code>
Salin selepas log masuk

Penggunaan

Panggil fungsi isValid() untuk mengesahkan token reCAPTCHA dan mengendalikan respons dengan sewajarnya. Contohnya:

<code class="php">if (isValid()) {
    // The user has passed the reCAPTCHA check.
    // ...
} else {
    // The user has failed the reCAPTCHA check.
    // ...
}</code>
Salin selepas log masuk

Nota Keselamatan

Adalah penting untuk menggunakan kunci rahsia dalam permintaan POST untuk melindungi integriti pengesahan. Simpan kunci rahsia ini tertutup dan jangan sekali-kali mendedahkannya secara terbuka.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengesahkan Google reCAPTCHA v3 di Bahagian Pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan