L'interface d'envoi de SMS du site Web a été appelée à plusieurs reprises par des personnes, ce qui affecte sérieusement les performances de fonctionnement de l'application. J'ai d'abord fermé le site Web, mais l'interface est toujours appelée et le problème de performances n'est toujours pas résolu. Veuillez demander des idées de solutions
Environnement : Windows Server 2008 + Apache + php + mysql
Il existe plusieurs idées de solutions, je vais les présenter brièvement respectivement.
La première méthode consiste à vérifier le journal access.log et à examiner l'état d'accès à l'interface. Si une adresse IP est utilisée des dizaines de fois en une minute, vous pouvez limiter ou bloquer le débit sur cette adresse IP. , comme cette IP Lors d'un nouvel accès, vous pouvez lui autoriser l'accès dans un certain laps de temps selon des règles personnalisées, ou simplement directement sur liste noire, et la couche réseau refuse directement tout accès.
La deuxième idée est d'enregistrer l'adresse IP d'accès, le nombre maximum de visites par minute et le temps d'accès. Lorsque l'utilisateur accède à l'interface et la soumet avec succès, les informations pertinentes sont placées dans Memcache ou Redis et une comparaison est effectuée. S'il expire, soumettez-le à nouveau et il n'a pas expiré. Ne le soumettez pas.
La troisième idée est d'utiliser un proxy inverse pour appeler l'interface en interne, puis de restreindre l'accès au niveau du proxy. En fait, ce n'est pas très différent de la première idée.
Ce qui précède est ma réflexion personnelle et n'est peut-être pas la meilleure solution. Tout le monde est invité à me critiquer et à me corriger.
Vous devez vérifier le code de vérification graphique avant d'envoyer un message texte, et le code de vérification graphique doit également être vérifié sur le backend
L'interface SMS doit être restreinte. Restrictions du code de vérification, restrictions IP et restrictions du numéro de téléphone mobile. Sinon, des dizaines de milliers de dollars peuvent être dépensés chaque jour
1. Le serveur contrôle le nombre de fois que chaque numéro de téléphone mobile est envoyé par jour, par exemple, il ne peut envoyer que 3 fois par jour
2. Chaque fois que le serveur envoie un message texte, vous devez renseigner le code de vérification
L'interface SMS du site Web sous la marque a été explorée, ce qui a affecté les performances du site Web