Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencegah Penyerahan Borang Berbilang Klik dalam PHP Menggunakan Token Unik?

Bagaimana untuk Mencegah Penyerahan Borang Berbilang Klik dalam PHP Menggunakan Token Unik?

Barbara Streisand
Barbara Streisandasal
2024-11-12 06:23:02517semak imbas

How to Prevent Multiple Click Form Submission in PHP Using Unique Tokens?

Pencegahan Penyerahan Borang Berbilang Klik dalam PHP

Dalam aplikasi web, menghalang penyerahan berbilang borang boleh meningkatkan pengalaman pengguna dan integriti data. PHP menawarkan penyelesaian untuk menangani isu ini.

Penyelesaian: Token Unik

PHP menggunakan token unik, dijana setiap kali borang dipaparkan. Token ini boleh digunakan sekali sahaja. Melaksanakan sistem token bukan sahaja menghalang penyerahan berbilang borang tetapi juga melindungi terhadap Pemalsuan Permintaan Merentas Tapak (CSRF) dan serangan main semula.

Contoh Pelaksanaan:

<?php
session_start();

// Function to create a unique token
function getToken() {
  $token = sha1(mt_rand());
  $_SESSION['tokens'][$token] = 1;
  return $token;
}

// Function to validate a token
function isTokenValid($token) {
  if (isset($_SESSION['tokens'][$token])) {
    unset($_SESSION['tokens'][$token]);
    return true;
  }
  return false;
}

// Check if a form has been submitted
$postedToken = filter_input(INPUT_POST, 'token');
if ($postedToken) {
  if (isTokenValid($postedToken)) {
    // Process form
  } else {
    // Handling for invalid token
  }
}

// Generate a token for the displayed form
$token = getToken();
?>

<form method="post">
  <fieldset>
    <input type="hidden" name="token" value="<?php echo $token; ?>">
    <!-- Add form content -->
  </fieldset>
</form>

Tambahan Pertimbangan:

  • Gabungkan sistem token dengan ubah hala selepas penyerahan borang untuk mengekalkan tingkah laku penyemak imbas yang dijangkakan.
  • Rujuk corak POST / ubah hala / GET untuk mendapatkan maklumat lanjut tentang yang betul pengendalian borang.

Dengan melaksanakan penyelesaian berasaskan token ini, pembangun PHP boleh menghalang berbilang bentuk dengan berkesan penyerahan, memastikan integriti data dan meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penyerahan Borang Berbilang Klik dalam PHP Menggunakan Token Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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