feat: security audit, rate limiting, server-side pricing, html escaping and security headers

This commit is contained in:
MichalC
2026-08-01 13:24:41 +02:00
parent f07f2c2407
commit 47a9ac07fb
24 changed files with 292 additions and 151 deletions
+1 -3
View File
@@ -6,7 +6,6 @@ import { verifyRecaptcha } from "@/lib/recaptcha";
const resend = new Resend(process.env.RESEND_API_KEY);
// Schemat walidacji zgodny z tym po stronie klienta
const contactFormSchema = z.object({
name: z.string().min(2, "Imię musi mieć min. 2 znaki"),
phone: z.string().min(9, "Wprowadź poprawny numer telefonu"),
@@ -30,7 +29,7 @@ export async function submitContactForm(prevState: unknown, formData: FormData)
}
}
// 1. Walidacja danych z formularza
const rawData = {
name: formData.get("name"),
phone: formData.get("phone"),
@@ -106,7 +105,6 @@ export async function submitContactForm(prevState: unknown, formData: FormData)
console.log("Wysłano e-mail (ID):", data?.id);
// 3. Zwrotka o sukcesie
return {
success: true,
message: "Dziękujemy za wiadomość! Skontaktujemy się z Tobą najszybciej jak to możliwe.",