6
votes

Comment bloquer l'adresse IP ou les classes IP dans ASP.NET

J'ai besoin de bloquer une adresse IP ou une classe dans ASP.NET

Quelqu'un peut-il m'aider avec le code? Et comment mettre en œuvre?

merci


0 commentaires

3 Réponses :


4
votes

Vous pouvez obtenir l'adresse IP du client à l'aide du HTTPQUEST.USERHOSTADDRESS Propriété (une instance peut être accédée à l'aide de Ceci.Request à partir de n'importe quelle page ou à l'aide de la propriété statique Httpcontext.current ).

Autant que je sache, il n'y a pas de méthode standard qui comparerait l'adresse IP avec une plage spécifiée, vous devez donc mettre en œuvre ce peu vous-même.

Vous voudrez probablement vérifier cela pour chaque demande, qui peut être effectuée dans la méthode Oninit de chaque page (que vous souhaitez bloquer) ou dans le DébutQuest événement de l'application (typiquement dans global.asax ).

Si vous détectez une adresse bloquée, vous pouvez émettre une page vide (espace réservé) en utilisant serveur.transfer méthode ( réponse.end serait une autre alternative, mais qui coupe simplement la page - retourner une page vide , alors que serveur.transfer vous permet de générer un message au client).


3 commentaires

Je sais comment l'obtenir, mais je ne sais pas comment le bloquer. Je ne connais pas très bien avec ASP.NET


De plus, cela devrait être effectué sur une base httpmodule puisque vous ne souhaitez pas consommer de ressources de votre serveur Web en traitant d'innecesirirement la demande si l'IP est bloquée.


@FinalDestiy: a ajouté le reste de la réponse :-)



4
votes

Si ce que vous voulez dire par "Block" est "Ne les laissez pas harceler mon serveur", ce n'est pas un problème ASP.NET, vous avez besoin d'un pare-feu (logiciel ou matériel).

Si ce que vous entendez par "Bloc" est "N'affichez pas mes pages": xxx


1 commentaires

+1 Pour la suggestion de gérer ce genre de chose au niveau du pare-feu au lieu du niveau logiciel, lorsque cela est possible.