Mencegah Pelbagai Sisipan Semasa Penyerahan Borang dalam PHP
Apabila mereka bentuk borang, adalah penting untuk menghalang pengguna daripada menghantar berbilang data yang sama secara tidak sengaja atau sengaja kali. Ini boleh menyebabkan data tidak konsisten dan isu lain. Dalam PHP, terdapat beberapa kaedah yang berkesan untuk mencapai ini:
1. Lumpuhkan Butang Hantar Borang Selepas Penyerahan
Menggunakan JavaScript, lumpuhkan butang hantar borang setelah borang diserahkan. Walau bagaimanapun, ini bukan penyelesaian yang mudah, kerana pengguna boleh menyerahkan borang tanpa mengklik butang dan pengguna yang dilumpuhkan JavaScript mungkin terjejas.
2. Manfaatkan Sesi PHP untuk Menjejaki Masa Penyerahan
Tubuhkan pembolehubah sesi ($_SESSION['posttimer']) yang merekodkan cap masa semasa. Sebelum memproses penyerahan borang, sahkan kewujudan pembolehubah ini dan semak sama ada terdapat perbezaan masa yang mencukupi (cth., 2 saat) antara masa semasa dan cap waktu sesi. Jika selang masa terlalu pendek, penyerahan dianggap sebagai pendua.
3. Masukkan Token Unik ke dalam Borang
Jana token unik dalam setiap POST. Cipta pembolehubah sesi untuk token ini dan benamkannya dalam borang. Apabila borang diserahkan, jana semula token dan bandingkan dengan yang disimpan dalam sesi. Jika tidak sepadan, borang telah diserahkan dua kali dan harus dianggap tidak sah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Penyerahan Borang Berbilang dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!