Rumah pembangunan bahagian belakang tutorial php Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP

Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP

Oct 12, 2023 am 10:36 AM
Anti goncang Kata kunci: php Cegah penyerahan pendua

. Anti goncang bermakna apabila pengguna kerap mencetuskan peristiwa, kami hanya mahu melaksanakan tindakan yang dicetuskan terakhir, manakala penyerahan anti-berulang bermakna apabila pengguna menyerahkan borang beberapa kali dalam tempoh yang singkat, kami perlu memastikan bahawa hanya satu penyerahan diproses. Artikel ini akan menumpukan pada membandingkan dan memperkenalkan beberapa cara untuk mencapai anti-goncang dan anti-penyerahan semula dalam PHP, dan menyediakan contoh kod khusus.

PHP 防抖和防重复提交的实现方式对比

Cara melaksanakan anti goncang

Anti goncang boleh disediakan dengan menetapkan pemasa untuk menangguhkan operasi yang sepadan untuk tempoh masa tertentu selepas peristiwa pencetus terakhir. Berikut ialah contoh kod yang menggunakan PHP untuk mencapai anti-goncang:

function debounce($callback, $delay) {
    $timer = null;
    
    return function() use ($callback, $delay, &$timer) {
        if ($timer !== null) {
            clearTimeout($timer);
        }
        
        $timer = setTimeout($callback, $delay);
    };
}

// 使用防抖函数处理表单提交事件
$debouncedHandler = debounce(function() {
    // 处理表单提交逻辑
}, 1000);

// 绑定事件处理函数
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $debouncedHandler();
}
Salin selepas log masuk

    Cara menghalang penyerahan berulang
  1. Menghalang penyerahan borang berulang boleh dicapai dengan cara berikut:
2.1.1 pengesahan, Kami boleh menjana pengecam unik untuk setiap permintaan borang dan menyimpan pengecam dalam sesi. Apabila pengguna menyerahkan borang, kami mula-mula menyemak sama ada pengecam wujud dan sama ada ia konsisten dengan pengecam dalam permintaan untuk menentukan sama ada ia adalah penyerahan berulang. Berikut ialah contoh kod yang menggunakan PHP untuk melaksanakan pengesahan Token:
    session_start();
    
    function generateToken() {
        return md5(uniqid(rand(), true));
    }
    
    function validateToken($token) {
        // 从 session 中获取 token
        $storedToken = $_SESSION['token'];
    
        return $storedToken && $token === $storedToken;
    }
    
    function removeToken() {
        // 从 session 中移除 token
        unset($_SESSION['token']);
    }
    
    // 生成 Token 并存储在 session 中
    $_SESSION['token'] = generateToken();
    
    // 处理表单提交逻辑
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $token = $_POST['token'];
    
        if (validateToken($token)) {
            // 执行表单提交操作
            // ...
    
            // 提交完成后移除 Token
            removeToken();
        } else {
            // Token 验证失败,可能是重复提交
            // 提示用户不要重复提交
        }
    }
    Salin selepas log masuk
  1. 2.2 Ubah hala
    Menggunakan ubah hala untuk mengendalikan lompatan halaman selepas penyerahan borang dengan berkesan boleh menghalang pengguna daripada menghantar borang berulang kali. Apabila pengguna menyerahkan borang, kami mengendalikan logik penyerahan terlebih dahulu dan kemudian menggunakan fungsi pengepala untuk mengubah hala pengguna ke halaman baharu. Berikut ialah contoh kod yang melaksanakan ubah hala menggunakan PHP:
  2. // 处理表单提交逻辑
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        // 执行表单提交操作
        // ...
    
        // 重定向到新页面
        header("Location: success.php");
        exit;
    }
    Salin selepas log masuk
    Halaman

    dalam kod di atas tanpa menyerahkan borang lagi.

    Ringkasan:

    Dengan membandingkan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP, kami boleh memilih cara yang sesuai untuk melindungi aplikasi kami berdasarkan keperluan khusus. Anti goncang sesuai untuk situasi di mana pengguna perlu mengelak daripada mencetuskan peristiwa dengan kerap, manakala menghalang penyerahan borang berulang adalah untuk menghalang pengguna daripada menyerahkan borang beberapa kali. Menggunakan pengesahan dan pengalihan Token ialah dua kaedah biasa dan boleh dilaksanakan Pembangun boleh memilih kaedah yang sesuai untuk mengelakkan penyerahan berulang berdasarkan situasi sebenar.

    Atas ialah kandungan terperinci Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis keselamatan penyerahan anti-goncang dan anti-pendua dalam PHP Analisis keselamatan penyerahan anti-goncang dan anti-pendua dalam PHP Oct 12, 2023 pm 02:54 PM

Analisis Keselamatan Penyerahan Anti-Shake dan Anti-Pendua dalam PHP Pengenalan: Dengan pembangunan laman web dan aplikasi, borang web telah menjadi salah satu cara penting untuk berinteraksi dengan pengguna. Selepas pengguna mengisi borang dan mengklik butang hantar, pelayan akan menerima dan memproses data yang dihantar. Walau bagaimanapun, disebabkan kelewatan rangkaian atau salah operasi pengguna, borang tersebut boleh diserahkan beberapa kali. Penyerahan berulang bukan sahaja akan meningkatkan beban pada pelayan, tetapi juga boleh menyebabkan pelbagai isu keselamatan, seperti sisipan data berulang, operasi tanpa kebenaran, dsb. Untuk menyelesaikan masalah ini, kita boleh menggunakan anti goncang

Menggunakan refleksi Golang untuk melaksanakan traversal dan pengubahsuaian medan struktur Menggunakan refleksi Golang untuk melaksanakan traversal dan pengubahsuaian medan struktur Apr 03, 2024 pm 12:06 PM

Pantulan pergi boleh digunakan untuk melintasi dan mengubah suai medan struktur. Lintasan medan: Gunakan reflect.TypeOf dan reflect.Field untuk melintasi medan struktur. Pengubahsuaian medan: Akses dan ubah suai nilai medan struktur melalui Elem dan Set. Kes praktikal: Gunakan pantulan untuk menukar struktur kepada peta, dan kemudian tukar peta kepada JSON.

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Sep 20, 2023 pm 03:14 PM

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi koleksi laman web Bar navigasi dan fungsi koleksi laman web adalah salah satu fungsi biasa dan praktikal dalam pembangunan web. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL, dan menyediakan contoh kod khusus. Cipta antara muka bar navigasi Mula-mula, kita perlu mencipta antara muka bar navigasi. Bar navigasi biasanya mengandungi pautan untuk navigasi pantas ke halaman lain. Kita boleh menggunakan HTML dan CSS untuk mereka bentuk dan mengatur pautan ini. Berikut ialah antara muka bar navigasi yang mudah

Apakah vue anti-goncang? Apakah vue anti-goncang? Jul 20, 2022 pm 06:46 PM

Dalam Vue, anti-goncang bermaksud melaksanakan panggilan balik n saat selepas peristiwa dicetuskan semula dalam n saat ini, masa akan dimulakan semula: apabila peristiwa dicetuskan secara berterusan, akan ada tiada lagi panggilan dalam selang masa tertentu Apabila peristiwa dicetuskan, fungsi pemprosesan acara akan dilaksanakan sekali.

Tutorial PHP dan GMP: Bagaimana untuk melaksanakan pendaraban nombor besar Tutorial PHP dan GMP: Bagaimana untuk melaksanakan pendaraban nombor besar Jul 29, 2023 pm 03:29 PM

Tutorial PHP dan GMP: Cara Melaksanakan Pendaraban Nombor Besar Pengenalan: Apabila kita perlu berurusan dengan integer besar dalam pengaturcaraan, jenis integer biasa tidak dapat memenuhi keperluan. Dalam PHP, sambungan GMP (GNUMultiplePrecision) menyediakan keupayaan untuk mengendalikan integer ketepatan sewenang-wenangnya. Tutorial ini akan memberi tumpuan kepada cara menggunakan sambungan GMP PHP untuk melaksanakan pendaraban nombor besar. Pasang dan dayakan sambungan GMP Sebelum kita bermula, kita perlu memastikan bahawa PHP telah memasang dan mendayakan sambungan GMP. OK

Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP Oct 12, 2023 am 10:36 AM

Perbandingan kaedah pelaksanaan penyerahan anti-goncang dan anti-pendua PHP Semasa membangunkan aplikasi web, kami sering menghadapi situasi di mana penyerahan nyahlantun (Debounce) dan anti-pendua (PreventingDuplicateFormSubmission) diperlukan. Anti goncang bermakna apabila pengguna mencetuskan acara dengan kerap, kami hanya mahu melaksanakan tindakan yang dicetuskan terakhir, manakala penyerahan anti-berulang bermakna apabila pengguna menyerahkan borang berbilang kali dalam tempoh masa yang singkat, kami perlu memastikan bahawa hanya satu penyerahan diproses. Buku

Memahami prospek aplikasi teknologi anti goncang PHP dalam pembangunan sebenar Memahami prospek aplikasi teknologi anti goncang PHP dalam pembangunan sebenar Oct 12, 2023 pm 01:42 PM

Untuk memahami prospek aplikasi teknologi anti-goncang PHP dalam pembangunan sebenar, contoh kod khusus diperlukan Dengan pembangunan berterusan Internet, semakin banyak aplikasi web perlu memproses input pengguna, seperti penyiapan automatik kotak carian, pemuatan bergulir, pengesahan borang, dsb. tunggu. Walau bagaimanapun, apabila pengguna menaip atau menatal dengan cepat, sejumlah besar permintaan mungkin dicetuskan, menyebabkan prestasi sistem merosot atau malah ranap. Untuk menyelesaikan masalah ini, pembangun boleh menggunakan teknologi anti-goncang, yang menangguhkan permintaan yang mencetuskan, dengan itu mengurangkan tekanan pada pelayan dan meningkatkan pengalaman pengguna. PHP adalah secara meluas

Prinsip dan aplikasi teknologi penyerahan anti goncang dan anti pendua PHP Prinsip dan aplikasi teknologi penyerahan anti goncang dan anti pendua PHP Oct 12, 2023 pm 12:16 PM

Prinsip dan Aplikasi Teknologi PHP Anti-Shake dan Anti-Duplicate Submission Dengan perkembangan Internet, pengguna sering mengklik dengan kerap atau berulang kali menghantar semasa mengendalikan halaman web, yang akan membawa beban dan risiko keselamatan tertentu kepada sistem. Untuk menyelesaikan masalah ini, pembangun sering menggunakan teknik penyerahan anti-goncang dan anti-pendua. Artikel ini akan memperkenalkan prinsip teknologi anti goncang dan antiserahan semula dalam PHP dan memberikan contoh kod yang sepadan. 1. Prinsip dan aplikasi teknologi anti-goncang Teknologi anti-goncang bertujuan untuk menyelesaikan masalah klik atau operasi yang kerap pengguna Dengan menangguhkan pelaksanaan atau gabungan

See all articles