J'ai un site PHP/CodeIgniter avec des fonctionnalités sociales de base qui inclut évidemment un lien "Ajouter un ami". Lorsque vous cliquez sur ce lien, un appel AJAX est effectué en arrière-plan, ce qui ajoute l'utilisateur associé au lien en tant qu'ami de l'utilisateur connecté. En outre, le lien se transforme en "Supprimer un ami" qui fait ce qu'il dit sur la boîte, tout comme le fait "Ajouter un ami". Lorsque vous cliquez sur "Ajouter un ami", l'utilisateur ajouté en tant qu'ami est averti par e-mail qu'il a été ajouté en tant qu'ami. C'est là que ma question arrive: Je veux éviter de spammer l'utilisateur avec ces e-mails de notification si l'utilisateur connecté ne cesse de cliquer sur ajouter/supprimer/ajouter/supprimer/etcBonne pratique pour éviter les abus "add friend"
Mon idée est de mettre en place une sorte de une table d'historique d'ajout qui enregistre les 2 identifiants d'utilisateur et un horodatage. Et je n'enverrais un e-mail que si (l'heure actuelle - l'horodatage) est plus grande qu'une valeur définie. Et chaque fois qu'un utilisateur ajouterait à nouveau un ami, je mettrais à jour l'horodatage à l'heure actuelle afin de "prolonger" la validité du contrôle du spam. Avec cette méthode, je pourrais également contrôler si un utilisateur veut ajouter trop d'amis dans un intervalle donné.
Cette table serait effacée de temps en temps pour les enregistrements dont l'horodatage est plus éloigné qu'une valeur donnée.
Ceci est mon idée, si vous en avez d'autres ou utilisé des méthodes différentes s'il vous plaît partager.
Merci d'avoir lu.
Ne stockez-vous pas déjà des informations d'amitié quelque part? Combien serait-il difficile d'ajouter un attribut qui vous indique quand l'amitié a commencé? –
Lorsque je supprime un ami, je supprime complètement l'enregistrement de la base de données, c'est pourquoi je préfère utiliser une table de base de données distincte pour conserver l'historique. Beau nom d'utilisateur, btw. :) – janosrusiczki