Attention aux loops sans fin

C’est assez évident lorsque nous programmons de ne pas faire des boucles qui ne s’arrêtent jamais puisque c’est facile à détecter. Par contre, il y a des boucles qui peuvent sortir du code en étant plus haut niveau et celles-là sont bien plus dommageables.

Un bon exemple est lorsque j’ai fait le programme de redirection de email pour éviter le spam. Il aurait suffit qu’un spammer décide de me faire suer pour briser le tout en créant une redirection du genre « spam@spamstopper.pgon.ca » qui redirige à « spam@spamstopper.pgon.ca ». En faisant cela, les ressources du système seraient utilisées au maximum. À plus haut niveau encore, en empêchant de faire une redirection vers le même nom de domaine, il est possible de faire une boucle entre deux services anti-spam.

Comme leçon, lorsque nous offrons un service au public, il faut toujours veiller à ce que les pires possibilités soient envisager.