Mengapa Menggunakan POST untuk Kemas Kini Lebih Selamat Daripada Hiperpautan

Barbara Streisand
Lepaskan: 2024-11-26 18:38:14
asal
713 orang telah melayarinya

Why Using POST for Updates Is Safer Than Hyperlinks

Apabila mengemas kini rekod dalam PHP, pilihan antara menggunakan Lakukan Tindakan (biasanya melalui borang dan kaedah HTTP seperti POST atau PUT) berbanding Hiperpautan (yang biasanya menggunakan kaedah GET) bermuara kepada keselamatan dan amalan terbaik. Inilah sebabnya Lakukan Tindakan diutamakan:


Keselamatan

  • GET (Pautan Hiper): Tindakan yang dicetuskan oleh pautan biasanya menggunakan kaedah HTTP GET, yang direka untuk mendapatkan maklumat, bukan mengubahnya. Apabila digunakan untuk kemas kini atau pemadaman, data sensitif (seperti ID rekod) boleh didedahkan dalam URL, menjadikannya terdedah kepada serangan seperti manipulasi URL atau CSRF (Pemalsuan Permintaan Merentas Tapak).

Contoh bermasalah:

<a href="update.php?id=123">Update</a>
Salin selepas log masuk

Sesiapa sahaja boleh memanipulasi id dalam URL untuk mengusik rekod yang tidak dibenarkan.

  • POST (Lakukan Tindakan): Kemas kini harus menggunakan borang dengan kaedah POST, di mana data dihantar dalam badan permintaan dan bukannya URL. Pendekatan ini menyembunyikan maklumat sensitif dan menjadikan manipulasi tanpa kebenaran lebih sukar, terutamanya apabila digabungkan dengan langkah keselamatan tambahan seperti token CSRF.

Contoh yang disyorkan:

<form action="update.php" method="POST">
    <input type="hidden" name="id" value="123">
    <button type="submit">Update</button>
</form>
Salin selepas log masuk

Mematuhi Konvensyen HTTP

Protokol HTTP mempunyai tujuan yang jelas untuk setiap kaedah:

  • DAPATKAN: Mendapat semula maklumat (idempoten dan tanpa kesan sampingan).
  • POST/PUT: Menyerahkan atau mengemas kini maklumat (bukan idempoten dan mempunyai kesan sampingan).

Menggunakan GET untuk tindakan seperti kemas kini atau pemadaman melanggar konvensyen ini dan boleh mengelirukan pengantara seperti cache atau proksi, yang mungkin menganggap permintaan GET sebagai selamat dan tanpa kesan sampingan.


Mencegah Tindakan Yang Tidak Diingini

  • Hiperpautan boleh dicetuskan secara tidak sengaja (cth., klik tidak sengaja atau bot mengikut pautan).
  • Borang menggunakan POST, terutamanya dengan langkah pengesahan tambahan, mengurangkan kemungkinan pelaksanaan tidak sengaja.

Keserasian dengan Keselamatan dan Pengesahan Lanjutan

Menggunakan borang membolehkan penyepaduan lancar langkah keselamatan tambahan, seperti:

  1. Token CSRF: Halang permintaan silang asal yang berniat jahat.
  2. Pengesahan Input: Sahkan ID rekod sebelum menyerahkan borang.
  3. Kawalan Kebenaran: Sahkan hak akses pengguna sebelum memberikan borang.

Menggunakan Lakukan Tindakan (melalui borang dengan POST atau PUT) untuk mengemas kini rekod ialah pendekatan yang disyorkan. Ini memastikan keselamatan yang lebih baik, selaras dengan konvensyen HTTP dan mengurangkan risiko tindakan tidak sengaja. Hiperpautan hendaklah dikhaskan untuk navigasi atau tindakan baca sahaja yang tidak mengubah keadaan sistem.

Atas ialah kandungan terperinci Mengapa Menggunakan POST untuk Kemas Kini Lebih Selamat Daripada Hiperpautan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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