20250918115913_e3810439-c22c-43da-8c06-fa8dad25164a.sql 642 B

123456789101112131415161718192021
  1. -- Corriger la vulnérabilité de sécurité de la fonction update_feed_article_count
  2. -- en ajoutant SET search_path = public pour empêcher les attaques par manipulation du search_path
  3. CREATE OR REPLACE FUNCTION public.update_feed_article_count()
  4. RETURNS trigger
  5. LANGUAGE plpgsql
  6. SET search_path = public
  7. AS $function$
  8. BEGIN
  9. -- Mise à jour du compteur d'articles pour le flux concerné
  10. UPDATE public.feeds
  11. SET article_count = (
  12. SELECT COUNT(*)
  13. FROM public.articles
  14. WHERE feed_id = COALESCE(NEW.feed_id, OLD.feed_id)
  15. )
  16. WHERE id = COALESCE(NEW.feed_id, OLD.feed_id);
  17. RETURN COALESCE(NEW, OLD);
  18. END;
  19. $function$;