Saya menambahkan tabel skor tinggi cepat / kotor ke proyek saya beberapa waktu lalu dan sama sekali tidak berpengalaman dalam keamanan internet / dll ternyata semacam cacat. Anehnya, dengan hampir 1.200.000 skor yang tercatat, saya hanya mungkin memiliki 5 atau 6 kali batch dengan skor yang sangat salah mencapai puncak papan. Sebagian besar skor bahkan tampak lebih seperti kesalahan dalam permainan, daripada "peretasan" yang sebenarnya.
Jadi saya kira satu poin penting adalah: pastikan sistem penilaian game Anda kedap udara , atau setidaknya lakukan pengecekan kelayakan skor yang sangat baik; sekarang, game ini yang saya bicarakan adalah entri Ludum Dare 48 jam, jadi itu bukan hal yang paling stabil di sekitar .. tetapi secara keseluruhan saya pikir itu lebih sering terjadi bahwa pemain biasa akan menemukan / mengeksploitasi kesalahan ingame daripada memiliki seseorang yang secara langsung "meretas" papan peringkat.
Yang mengatakan, saya sedang mengerjakan penulisan ulang proyek ini sekarang, dan saya akan keluar dengan kebingungan. Saya tidak akan membahas terlalu banyak detail, tetapi pada dasarnya saya memiliki semua skor mengirimkan nilai kunci berdasarkan pada sekelompok nilai acak dan hashing dan string ajaib, lalu skor apa pun yang lolos dari pemeriksaan itu dan cukup tinggi untuk menghasilkan yang sebenarnya " Papan peringkat Top X "harus melewati babak validasi lainnya (kali ini dengan nilai kunci kedaluwarsa yang dihasilkan di server, dan pemeriksaan kelayakan yang lebih teliti).
Saya juga menyarankan menggunakan pelacak paket untuk menguji hal-hal apa yang terlihat (saya awalnya melakukan verifikasi yang lebih sederhana yang berarti seseorang dapat menggunakan pelacak paket untuk menemukan dan menggandakan permintaan http skor yang diunggah, tanpa mengetahui string ajaib atau apa pun (berarti Anda membutuhkan skor yang sah terlebih dahulu, tetapi Anda dapat mengirim duplikat skor sebanyak yang Anda inginkan ..)). Saya menggunakan Wireshark untuk menguji ini.
Huh, ini agak lama, tapi mudah-mudahan ini membantu ...