Durcit la sécurité : plafond de score réaliste, REVOKE explicites, banque de questions du Char réservée aux juges
Build and deploy / deploy (push) Successful in 36s
Build and deploy / deploy (push) Successful in 36s
Un score falsifié envoyé directement à submit_icarus_score/submit_melon_score pouvait se convertir en vraies gloires au Tribunal (plafond abaissé de 1 000 000 à 5000, contrainte + RPC). Les fonctions cron-only award_*_points_if_due() n'étaient protégées que par un commentaire, pas un vrai REVOKE. Le bucket avatars n'avait aucune limite de taille/type. La banque complète des questions du Char (spoiler du jeu) était lisible par tout Citoyen via /char ou un appel direct — RLS restreinte aux juges, /char passe désormais par la RPC chariot_revealed_question(). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,7 +42,10 @@ export const FIXED_DT_MS = 1000 / 60;
|
||||
export const MAX_FRAME_DT_MS = 250;
|
||||
|
||||
export const MIN_SCORE = 0;
|
||||
export const MAX_SCORE = 1000000;
|
||||
// Doit rester aligné avec la contrainte melon_scores_best_score_check
|
||||
// (supabase/schema.sql) — celle-ci est la vraie garantie, cette constante
|
||||
// n'est qu'une valeur de référence côté client.
|
||||
export const MAX_SCORE = 5000;
|
||||
|
||||
// Positions figées à la main pour certains Citoyens (id de profil → index
|
||||
// de palier, 0 = le plus petit) — les Citoyens restants remplissent les
|
||||
|
||||
Reference in New Issue
Block a user