Mencegah Penyerahan Berbilang Borang dalam PHP: Panduan Komprehensif
Penyerahan berbilang borang boleh menjadi masalah dalam aplikasi web, yang membawa kepada akibat yang tidak diingini. Artikel ini akan menyediakan penyelesaian terperinci untuk mengelakkan berbilang penyerahan dalam PHP.
Penyelesaian Menggunakan Token
PHP menawarkan penyelesaian yang teguh menggunakan token unik yang boleh dijana dan disimpan dalam sesi. Begini cara untuk melaksanakannya:
Contoh Kod:
<?php session_start(); function getToken(){ $token = sha1(mt_rand()); $_SESSION['tokens'][$token] = 1; return $token; } function isTokenValid($token){ if(!empty($_SESSION['tokens'][$token])){ unset($_SESSION['tokens'][$token]); return true; } return false; } $postedToken = filter_input(INPUT_POST, 'token'); if(!empty($postedToken) && isTokenValid($postedToken)){ // Process Form } $token = getToken(); ?> <form method="post"> <input type="hidden" name="token" value="<?php echo $token; ?>"/> <!-- Form Content --> </form>
Ubah Hala dan Keserasian Ke Belakang
Untuk mengekalkan navigasi ke belakang dan ke hadapan yang betul, adalah disyorkan untuk melaksanakan corak POST/ubah hala/GET. Ini melibatkan:
Dengan mengikuti langkah ini, anda boleh menghalang penyerahan berbilang borang dengan berkesan dan memastikan integriti aplikasi web anda.
Atas ialah kandungan terperinci Cara Mencegah Penyerahan Berbilang Borang dalam PHP: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!