Empêcher un insert MySQL par trigger

Notamment sous Magento, il est fréquent d’avoir des robots qui tentent des créer des comptes clients factices, les noms de domaines étant très différents de ceux utilisé en France, il est facile de bloquer par exemple la création d’un compte client sur le domaine qq.com avec un trigger MySQL de ce type :

CREATE TRIGGER `spam` BEFORE INSERT ON `customer_entity`
FOR EACH ROW IF (NEW.email like « %@qq.com »)
THEN
SIGNAL SQLSTATE ‘45000’ SET MESSAGE_TEXT = ‘Insert Rejeté’;
END IF

Ce trigger va alors bloquer l’insertion avant qu’elle ne soit réalisée en base.