Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mencegah Serangan CSRF dalam PHP, Khususnya Menggunakan Rangka Kerja Kohana?

Bagaimanakah Saya Boleh Mencegah Serangan CSRF dalam PHP, Khususnya Menggunakan Rangka Kerja Kohana?

Linda Hamilton
Lepaskan: 2024-11-29 04:47:27
asal
127 orang telah melayarinya

How Can I Prevent CSRF Attacks in PHP, Specifically Using the Kohana Framework?

Mencegah Pemalsuan Permintaan Rentas Tapak (CSRF) dalam PHP

Soalan: Bolehkah anda menghuraikan cara menggunakan teknik yang dinyatakan dalam artikel Wikipedia untuk menghalang CSRF dalam PHP, khususnya dalam Kohana rangka kerja?

Jawapan:

Untuk menghalang CSRF dalam PHP, anda boleh melaksanakan langkah berikut:

  • Sahkan satu -token masa dalam kedua-dua parameter GET dan POST. Token ini harus unik untuk setiap permintaan dan akan tamat tempoh selepas masa yang singkat tempoh masa. Contoh mudah ini dalam PHP disediakan di bawah:
// On the page requesting to delete a record
session_start();
$token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : "";
if (!$token) {
    // Generate and persist a new token
    $token = md5(uniqid());
    $_SESSION['delete_customer_token']= $token;
}
session_write_close();
Salin selepas log masuk
// When actually performing the deletion
session_start();
// Validate the token
$token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : "";
if ($token && $_POST['token'] === $token) {
    // Delete the record
    ...
    // Remove the token after successful deletion
    unset($_SESSION['delete_customer_token']);
} else {
    // Log a potential CSRF attack
}
session_write_close();
Salin selepas log masuk
  • Semak pengepala Perujuk HTTP. Pengepala Perujuk mengandungi URL halaman yang merujuk kepada halaman semasa. Jika pengepala Perujuk tidak sepadan dengan nilai yang dijangkakan, ia mungkin menunjukkan serangan CSRF.

Dalam Kohana, anda boleh mendapatkan semula URL perujuk menggunakan kaedah Request::referrer(). Untuk memastikan URL perujuk adalah sah, anda boleh membandingkannya dengan senarai domain yang dipercayai yang dibenarkan untuk merujuk ke tapak anda.

Dengan melaksanakan langkah-langkah ini, anda boleh membantu melindungi aplikasi PHP anda daripada serangan CSRF.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Serangan CSRF dalam PHP, Khususnya Menggunakan Rangka Kerja Kohana?. 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