From c6d7c5f59a62e3a9f66fad3d15caa22ee442aecf Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 24 Sep 2026 14:49:01 -0300 Subject: [PATCH] refactor: clean up comments and improve SQL injection prevention in cadastro_jogos desktop XML --- panels/cadastro_jogos-desktop.xml | 9 +-------- patches/{example.xml => matheus_medeiros_jogos.xml} | 0 2 files changed, 1 insertion(+), 8 deletions(-) rename patches/{example.xml => matheus_medeiros_jogos.xml} (100%) diff --git a/panels/cadastro_jogos-desktop.xml b/panels/cadastro_jogos-desktop.xml index f2846a9..aefd18d 100644 --- a/panels/cadastro_jogos-desktop.xml +++ b/panels/cadastro_jogos-desktop.xml @@ -116,11 +116,7 @@ engine.getField("txfNotaMedia").setValue(""); } - /* - * Gerencia apenas os campos de negócio obrigatórios. - * Os campos de ID (CODIGO) NÃO entram aqui, pois são - * gerados automaticamente e ficariam vazios em uma inclusão. - */ + function organizeRequiredFields(whichForm, isToRequest) { var fields = []; if(whichForm === "jogos"){ @@ -276,7 +272,6 @@ var sqlBase = "SELECT * FROM TB_MATHEUS_MEDEIROS_AVALIACOES ORDER BY CODIGO"; var id_jogo = engine.getField("dbtJogos").getValue(); if(id_jogo != null){ - /* Cast numérico para evitar injeção via concatenação */ id_jogo = parseInt(id_jogo, 10); if(!isNaN(id_jogo)){ sqlBase = "SELECT * FROM TB_MATHEUS_MEDEIROS_AVALIACOES WHERE ID_JOGO = " + id_jogo + " ORDER BY CODIGO"; @@ -415,8 +410,6 @@ var sqlBase = "SELECT J.CODIGO, J.TITULO, J.GENERO, J.ANO_LANCAMENTO, J.PRODUTORA, COALESCE(ROUND(AVG(A.NOTA), 2), 0) AS NOTA_MEDIA, J.DESCRICAO FROM TB_MATHEUS_MEDEIROS_JOGOS J LEFT JOIN TB_MATHEUS_MEDEIROS_AVALIACOES A ON J.CODIGO = A.ID_JOGO"; if (txfPesquisa) { - /* Escapa aspas simples para mitigar SQL Injection. - O ideal é usar bind/parâmetro do framework. */ var safe = ("" + txfPesquisa).replace(/'/g, "''"); sqlBase += " WHERE UPPER(J.TITULO) LIKE UPPER('%" + safe + "%')"; } diff --git a/patches/example.xml b/patches/matheus_medeiros_jogos.xml similarity index 100% rename from patches/example.xml rename to patches/matheus_medeiros_jogos.xml