Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Gunakan Post/Redirect/Get (PRG) untuk Mencegah Penyerahan Semula Data?

Mengapa Gunakan Post/Redirect/Get (PRG) untuk Mencegah Penyerahan Semula Data?

DDD
Lepaskan: 2024-12-11 16:10:17
asal
963 orang telah melayarinya

Why Use Post/Redirect/Get (PRG) to Prevent Data Resubmission?

Memahami Corak "Siaran/Ubah Hala/Dapatkan" Secara Intrinsik yang Mengelirukan

Walaupun menghadapi banyak gambaran keseluruhan corak "siaran/ubah hala/dapat", memahami selok-beloknya boleh kekal sukar difahami. Mari kita teliti lebih mendalam untuk menjelaskan konsep ini.

Siaran: Menghantar Data Sensitif

Dalam keadaan tertentu, aplikasi memerlukan pengguna menyerahkan maklumat sensitif, seperti kata laluan atau nombor kad kredit. Menggunakan kaedah HTTP POST, nilai ini dibenamkan dengan selamat dalam kandungan permintaan dan tidak didedahkan dalam URL.

Ubah hala: Mengelakkan Berbilang Catatan

Walau bagaimanapun, selepas pemprosesan POST, segera mengembalikan halaman respons boleh menyebabkan penyerahan semula secara tidak sengaja jika pengguna memuat semula halaman tersebut. Untuk mengelakkan ini, ubah hala dikeluarkan ke URL baharu. URL baharu ini tidak lagi mengandungi muatan POST, melindunginya daripada penyerahan berulang.

Dapatkan: Mendapatkan Keputusan

Akhirnya, pengguna mendarat di URL GET, yang biasanya memaparkan hasil POST operasi. Pengasingan kemasukan data (POST) daripada paparan data (GET) memastikan integriti data dan pengalaman pengguna yang lebih bersih.

Ilustratif Visualisasi

Pertimbangkan rajah berikut:

[Imej : "Masalahnya" - Data POST memasuki corong, tetapi meninggalkannya mencetuskan POST semula. "Penyelesaian" - Data POST memasuki corong, yang mengubah hala ke halaman GET]

Dengan memahami masalah penyerahan semula dan peranan pengalihan dalam mengurangkannya, corak "post/redirect/get" menjadi lebih intuitif.

Atas ialah kandungan terperinci Mengapa Gunakan Post/Redirect/Get (PRG) untuk Mencegah Penyerahan Semula Data?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan