Skip to content

fix: prevent non-sponsors from bypassing GIF restriction (v2.0.1)#10

Merged
lucas-adm merged 2 commits intoNoteHubBR:mainfrom
lucas-adm:fix/gif-validation-bypass
Dec 17, 2025
Merged

fix: prevent non-sponsors from bypassing GIF restriction (v2.0.1)#10
lucas-adm merged 2 commits intoNoteHubBR:mainfrom
lucas-adm:fix/gif-validation-bypass

Conversation

@lucas-adm
Copy link
Copy Markdown
Member

Sumário

Este PR corrige usuários não-patrocinadores conseguindo burlar a restrição de GIFs ao copiar URLs de imagens de patrocinadores e fazer requisições diretas via API, contornando a validação do frontend.

Alterações

  • UserServiceImpl.java -> Adicionado método validateGif();
  • CustomExceptions.java -> GifNotAllowedException;
  • ControllerAdvice.java -> Handler para nova exceção;
  • Atualizada versão do projeto para 2.0.1.

Necessidade

A validação de GIFs estava implementada apenas no frontend, permitindo que usuários contornassem a restrição de patrocinadores ao fazerem requisições diretas via API com URLs copiadas. Esta correção garante que as regras de negócio sejam validadas no servidor, independente da origem da requisição.

Teste manual

  • PUT /api/v1/users/profile -> (Payload, Response)/(200 OK, 403 Forbidden)
{
	"username": "test",
	"displayName": "Test",
	"avatar": "https://example.com/image.gif",
	"banner": "https://example.com/image.gif",
	"message": "Lorem Ipsum",
	"profilePrivate": false
}
[
	{
		"field": "avatar",
		"message": "GIFs apenas para patrocinadores."
	},
	{
		"field": "banner",
		"message": "GIFs são proibidos como banner."
	}
]

Checklist

  • Código segue o padrão do projeto
  • Documentação atualizada
  • Testes adicionados/atualizados

Breaking Changes

  • ** Nenhuma**

- Add validateGif() method to enforce GIF restrictions server-side
- Prevent users from bypassing frontend validation by copying sponsor URLs
- GIFs remain blocked for banners regardless of sponsor status
@lucas-adm lucas-adm merged commit 03ee582 into NoteHubBR:main Dec 17, 2025
1 check passed
@lucas-adm lucas-adm deleted the fix/gif-validation-bypass branch December 17, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant