Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengendalikan serangan pemalsuan permintaan silang tapak (CSRF) dalam PHP?
Bagaimana untuk menangani serangan Cross-site Request Forgery (CSRF) dalam PHP?
Ikhtisar:
Memandangkan serangan siber terus berkembang, melindungi keselamatan tapak web telah menjadi salah satu tugas penting bagi pembangun. Serangan Pemalsuan Permintaan Silang Tapak (CSRF) ialah ancaman keselamatan biasa Penyerang menipu pengguna untuk melakukan operasi yang tidak dijangka, membolehkan pengguna menghantar permintaan berniat jahat tanpa pengetahuan mereka. Untuk mengelakkan serangan sedemikian, pembangun boleh mengambil beberapa langkah untuk melindungi tapak mereka. Artikel ini akan menerangkan cara mengendalikan serangan CSRF dalam PHP.
Berikut ialah contoh kod menggunakan pengesahan Token:
// 生成Token $token = bin2hex(random_bytes(32)); $_SESSION['csrf_token'] = $token; // 将Token嵌入到表单中 <form method="post" action="process.php"> <input type="hidden" name="csrf_token" value="<?php echo $token; ?>"> <!-- other form fields --> <input type="submit" value="Submit"> </form> // 在处理请求时验证Token session_start(); if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { die("Invalid CSRF token"); } // 处理请求
Berikut ialah contoh kod untuk menghadkan Perujuk HTTP:
$referer = $_SERVER['HTTP_REFERER']; $allowed_referer = 'https://www.example.com'; if (strpos($referer, $allowed_referer) !== 0) { die("Invalid Referer"); } // 处理请求
Berikut ialah contoh kod untuk menetapkan atribut Kuki SameSite:
session_start(); session_set_cookie_params([ 'httponly' => true, 'samesite' => 'Lax' ]);
Kesimpulan:
Mengendalikan serangan CSRF dalam PHP memerlukan satu siri langkah keselamatan. Menggunakan pengesahan Token, mengehadkan Perujuk HTTP dan menetapkan atribut Kuki SameSite adalah semua cara yang berkesan untuk mempertahankan diri daripada serangan CSRF. Walaupun kaedah ini boleh meningkatkan keselamatan tapak web, pembangun harus sentiasa memberi perhatian yang teliti terhadap ancaman keselamatan baharu dan amalan terbaik serta mengemas kini langkah perlindungan tepat pada masanya untuk memastikan keselamatan tapak web.
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan serangan pemalsuan permintaan silang tapak (CSRF) dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!