La plupart des raisons de la validation ne s'appliquent pas; l'IP proviendra d'une propriété Request construite à partir d'informations dans la connexion sous-jacente qui aura déjà été validée dans une large mesure et, par conséquent, alors qu'elle pourrait être usurpée, elle ne pourrait pas être considérée comme quelque chose qui n'est pas réellement une adresse IP .
Cependant, deux raisons demeurent. Le premier est que la méfiance à l'égard de la sécurité ne concerne pas seulement l'intention, mais aussi le succès. nous pouvons faire confiance à la couche qui nous donne l'adresse IP pour ne pas nous donner autre chose, mais nous ne pouvons pas forcément lui faire confiance pour réussir ses propres vérifications - peut-être qu'un jour, un exploit piratera cette couche pour passer autre chose. L'autre est qu'en fonction de ce que vous allez faire avec cette adresse IP, une adresse IP usurpée pourrait causer des dommages (cela nécessite une validation au-delà de la simple validation de l'IP est une adresse IP). Un contre-argument est que si tout ce que vous faites est la journalisation, alors tant que vous utilisez des approches normales pour assurer le formatage des données, la journalisation du code malveillant ne fera rien de méchant en soi.
Un contre-argument est que si la seule chose que vous faites est la journalisation aujourd'hui, cela peut ne pas être le cas plus tard dans la vie du projet.
Par conséquent, la validation est raisonnable à faire, bien que je ne paniquerais pas si je voyais quelqu'un ne pas le faire. Veillez à vous assurer que votre validation accepte les adresses IPv6; ils sont encore assez rares pour que vos tests ne puissent en utiliser aucun, mais assez communs (et de plus en plus courants) que vous les frapperez dans le code de production. Vous ne souhaitez pas bloquer les utilisateurs légitimes car vous rencontrez une adresse IPv6.
Validez maintenant, ne vous inquiétez pas plus tard. – Stephen
Comment cette adresse IP est-elle obtenue? –
C'est en C# donc j'utilise un Request.UserHostAddress –