Rumah >pembangunan bahagian belakang >tutorial php >Adakah Kod PHP Melaksanakan Selepas `header('Location: ...')` Redirect, dan Bagaimana Ini Boleh Dihalang?
Mengelakkan Pelaksanaan Kod Pasca Ubah Arah dalam PHP
Apabila melakukan ubah hala menggunakan fungsi pengepala('Location:..') dalam PHP , adalah amalan biasa untuk memasukkan jalan keluar; kenyataan selepas itu untuk mengelakkan pelaksanaan kod berikutnya. Ini menimbulkan persoalan sama ada kod selepas fungsi pengepala masih boleh dilaksanakan dan, jika ya, dalam senario apakah.
Bolehkah Kod Pasca Ubah Arah Melaksanakan?
Ya , kod selepas fungsi pengepala masih boleh dilaksanakan. Fungsi pengepala hanya menghantar permintaan kepada penyemak imbas untuk mengubah hala, tetapi halaman selebihnya masih akan dilayan oleh PHP dan berpotensi untuk dilihat oleh pelanggan.
Cara Mencegah Pelaksanaan Kod
Untuk mengelakkan pelaksanaan kod pasca-ubah hala, jalan keluar; pernyataan mesti digunakan sejurus selepas fungsi pengepala. Ini memastikan bahawa semua pelaksanaan PHP dihentikan dan pelayan bertindak balas dengan pengepala ubah hala sahaja.
Eksploitasi oleh Pengguna Berniat Hasad
Pengguna berniat jahat boleh mengabaikan panggilan pengepala dengan menggunakan klien baris arahan seperti wget dengan pilihan --no-redirect. Ini membolehkan mereka melihat kandungan halaman yang akan disampaikan sebelum ubah hala.
Amalan Terbaik
Oleh itu, adalah penting untuk sentiasa menggunakan pintu keluar; pernyataan selepas fungsi pengepala untuk menghalang pelaksanaan kod pasca ubah hala dan melindungi daripada kemungkinan kelemahan keselamatan.
Atas ialah kandungan terperinci Adakah Kod PHP Melaksanakan Selepas `header('Location: ...')` Redirect, dan Bagaimana Ini Boleh Dihalang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!