PHP, sebagai bahasa pengaturcaraan sebelah pelayan yang popular, digunakan secara meluas untuk membina aplikasi web. Apabila membangunkan aplikasi web menggunakan PHP, adalah sangat penting untuk memastikan keselamatan. Memandangkan permintaan HTTP termasuk dua jenis: GET dan POST, dan kerana permintaan GET mengandungi parameter permintaan yang dihantar oleh klien dalam URL, keselamatan aplikasi Web boleh dipertingkatkan dengan melarang permintaan GET. Dalam artikel ini, kami akan membincangkan cara menyekat permintaan GET melalui PHP.
Langkah pertama: Tanya jenis permintaan
Apabila menulis skrip PHP, kita boleh menggunakan parameter $_SERVER['REQUEST_METHOD'] untuk menentukan jenis semasa permintaan. Jika ia adalah permintaan GET, nilai parameter ini akan menjadi 'GET', jika ia adalah permintaan POST, nilainya akan menjadi 'POST'. Oleh itu, kita boleh menambah pernyataan penghakiman berikut pada permulaan kod:
if ($_SERVER['REQUEST_METHOD'] == 'GET') { header('HTTP/1.1 405 Method Not Allowed'); exit; }
Kod ini terlebih dahulu menanyakan sama ada jenis permintaan semasa ialah GET Jika ya, ia akan mengembalikan 'HTTP/1.1 405 Kaedah Tidak Dibenarkan' kod ralat dan hentikan pelaksanaan skrip.
Langkah 2: Lumpuhkan tatasusunan $_GET
Dalam PHP, $_GET ialah tatasusunan bersekutu yang mengandungi parameter yang diluluskan dalam URL permintaan. Untuk mengelakkan permintaan GET yang berniat jahat, kita boleh menggunakan fungsi unset() pada permulaan skrip untuk menetapkan tatasusunan $_GET kepada tatasusunan kosong:
$_GET = array();
Ini akan menyahaktifkan tatasusunan $_GET, menghalang sesiapa sahaja daripada menggunakannya dalam parameter Pas URL.
Langkah 3: Gunakan $_POST dan bukannya $_GET
Dalam PHP, kita boleh menggunakan tatasusunan $_POST untuk menyimpan data dalam permintaan POST. Jika kami perlu menghantar data ke halaman PHP dan mahu ia tidak boleh diakses melalui permintaan GET, kami boleh menggunakan permintaan POST dan bukannya permintaan GET.
Sebagai contoh, jika anda sebelum ini menggunakan parameter dalam URL untuk menghantar kata kunci carian, anda kini boleh menggunakan medan tersembunyi sebagai ganti:
<form method="post" action="search.php"> <input type="text" name="keyword"> <input type="submit" value="Search"> </form>
Dalam contoh ini, gunakan permintaan POST sebagai ganti A Permintaan GET membuat permintaan carian. Dalam halaman PHP, gunakan $_POST['kata kunci'] untuk mendapatkan kata kunci carian dan bukannya menggunakan $_GET['kata kunci'].
Ringkasnya, melumpuhkan permintaan GET ialah kaedah yang berkesan untuk meningkatkan keselamatan aplikasi web. Melalui 3 langkah di atas, kami boleh menghalang pengguna berniat jahat daripada menggunakan permintaan GET untuk menyerang aplikasi kami dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk melumpuhkan mendapatkan permintaan menggunakan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!