Rumah > Soal Jawab > teks badan
PHP中文网2017-04-18 10:07:45
Lumpuhkan butang serta-merta selepas mengkliknya Jika penyerahan gagal, pulihkan butang itu, jika tidak, ia akan diubah hala ke halaman kejayaan.
Atau selepas mengklik, topeng akan muncul.
Walau bagaimanapun, kedua-dua penyelesaian di atas memerlukan js. Mengapa anda tidak mahu menggunakan js?
迷茫2017-04-18 10:07:45
1.Butang JS menghalang klik berulang
2. Kawalan cache sisi pelayan, kaedahnya ialah menulis perpustakaan berulang kali
3 Cipta indeks unik dalam pangkalan data (contohnya, tajuk siaran adalah unik dan tidak boleh diulang)
阿神2017-04-18 10:07:45
Boleh dikawal dari hadapan dan belakang:
Tambah logik kawalan bahagian hadapan Apabila pengguna mengklik untuk menyiarkan, lumpuhkan butang "Siar"
Tambah logik kawalan latar belakang Apabila permintaan siaran dihantar, semak sama ada orang itu telah menghantar siaran dengan tajuk dan kandungan yang sama, larang penciptaan siaran pendua ini
迷茫2017-04-18 10:07:45
Anda boleh menjana id apabila templat dipaparkan, kemudian serahkan id bersama-sama semasa menyerahkan, dan kemudian bandingkan dengan hujung belakang, supaya jika id yang diluluskan tidak betul, maka pemprosesan akan diabaikan.
PHPz2017-04-18 10:07:45
Pertama, penyelesaian yang lebih mudah ialah menggunakan fungsi nyahlantun untuk mengehadkan kekerapan pencetus panggil balik DOM.
Kedua, jika anda masih perlu mempertimbangkan situasi di mana pengguna melumpuhkan js dalam era ini, maka jangan lakukannya di bahagian hadapan.
PHP中文网2017-04-18 10:07:45
Masalah ini tidak boleh diselesaikan dengan bergantung pada bahagian hadapan sahaja.
Tambah caching, gunakan peta untuk mesin tunggal dan gunakan redis untuk caching teragih.
Gunakan prosedur tersimpan Mysql untuk menyerahkan tekanan konkurensi kepada pangkalan data
Kunci, kunci optimistik atau kunci pesimis
Kunci unik
怪我咯2017-04-18 10:07:45
Halaman semasa menjana id unik Apabila menyerahkan, pelayan menentukan bahawa ia hanya akan diproses sekali. Contohnya, halaman penyerahan borang laravel
mempunyai csrf_token
怪我咯2017-04-18 10:07:45
Kemudian tulis csrf
anda sendiri di latar belakang Sediakan beberapa idea dan jana kunci secara automatik apabila menyerahkan kandungannya, tetapkan semula kunci itu atau kosongkan hanya penyerahan pendua
迷茫2017-04-18 10:07:45
Borang kiriman borang melepasi rentetan rawak medan tersembunyi dan masukkannya ke dalam sesi
Apabila atur cara menerima rentetan rawak ini dan membandingkannya dengan rentetan dalam sesi, jika ia sama, ia akan diserahkan dan jika ia tidak sama, ia akan menggesa perbandingan ralat Hanya tetapkan semula sesi ini
PHP中文网2017-04-18 10:07:45
1. Pengesahan JS, lumpuhkan butang hantar selepas penyerahan
2. Pengesahan sisi pelayan, setiap kali halaman dimuat semula, token akan dihasilkan dalam halaman tersebut dinilai sama ada token itu sah, maka data akan diproses dan token akan dimusnahkan, jika front-end menghantar berulang kali, ia pasti tidak akan diproses kerana token dimusnahkan