ANTI ABUSE MAXIMUM - RESET 7 HARI

Upload ke public_html:
- index.html
- init-session.php
- spin-result.php
- cek-voucher.php
- voucher-data.json
- rate-limit.json
- .htaccess

Fitur:
- reset voucher 7 hari
- lock kombinasi IP + browser + device ID + browser fingerprint
- validasi voucher dulu sebelum spin
- token sesi diputar ulang setiap request spin
- rate limit IP dan device
- daftar voucher sudah diganti memakai 2000 kode voucher terbaru

Cara kerja:
- browser membuat device ID dan menyimpannya di localStorage + cookie
- server mencocokkan device ID, fingerprint browser, IP, dan user-agent
- 1 perangkat hanya bisa memakai 1 voucher dalam 7 hari
- voucher yang sama juga tidak bisa dipakai ulang oleh perangkat yang sama sebelum 7 hari

Catatan jujur:
- ini jauh lebih susah dibypass dibanding versi sebelumnya
- tapi user yang sangat niat masih bisa akali dengan ganti device/browser profil/IP total dan hapus storage
- versi paling kuat tetap pakai login user + database + OTP / verifikasi akun


PATCH 2026-03-29:
- cek-voucher.php sekarang balikin format JSON: { valid: true/false }
- spin-result.php sekarang balikin format JSON: { ok: true/false, index, prize }
- 1 voucher hanya untuk 1 user, tapi user yang sama bisa pakai voucher baru


CLEAN HIDDEN LOGIC FIX:
- roda dikembalikan stabil tanpa get-items.php
- label dan warna tetap di index.html agar roda selalu muncul
- persentase tidak ada lagi di frontend; peluang tetap hanya di spin-result.php
