Saltar al contenido
Cursos/Crea webs profesionales con IA desde cero/Guarda contactos en Supabase con RLS

Guarda contactos en Supabase con RLS

Añade persistencia con políticas de acceso explícitas y verifica que el navegador no pueda leer datos privados.

Lección 16 de 4790 min Construcción profesional Codex + GPT-5.6 Sol

Resultado visible

Guardarás solicitudes en una tabla privada. Una persona anónima podrá insertar mediante una ruta controlada, pero no listar, leer, modificar ni borrar contactos.

Modelo mínimo

create table public.contact_requests (
  id uuid primary key default gen_random_uuid(),
  created_at timestamptz not null default now(),
  name text not null check (char_length(name) between 2 and 80),
  email text not null check (char_length(email) <= 254),
  message text not null check (char_length(message) between 20 and 2000),
  status text not null default 'new'
);

alter table public.contact_requests enable row level security;

No crees una política de lectura pública. Usa una ruta de servidor y una clave adecuada guardada como variable de entorno; nunca envíes una clave de servicio al navegador.

Prompt

Integra Supabase siguiendo la documentación oficial actual. Antes de editar,
propón modelo, amenazas y políticas RLS. Implementa una ruta de servidor
que valide, limite y guarde contactos. Las claves solo van en variables
de entorno y `.env*` debe estar ignorado por Git. Crea una prueba que
demuestre inserción válida y cuatro pruebas negativas de lectura/cambio.
Documenta cómo borrar los datos de prueba.

Prueba adversaria

Desde un cliente anónimo intenta seleccionar, actualizar y eliminar. Las cuatro operaciones deben fallar. Comprueba que RLS está activado y revisa las políticas en el panel. Borra las filas de prueba.

Fuentes oficiales