Question

Je veux ajouter Querystring « vérification » et l'exploitation forestière dans le cas de « falsifié » querystrings. L'événement est Page_Init sur une page donnée au bon endroit pour le faire dans le cycle de vie de la page ASP.Net?

Était-ce utile?

La solution

Ma règle générale est de faire tout le plus tôt possible. Cela pourrait inclure même vérifier dès Application.BeginRequest (qui se produit des événements mai avant que la page est même chargée), tant que requête de vérification de chaîne n'est pas la page dépendante.

La question ici est « Que pensez-vous de trafiquer? » Clés non valides? Des valeurs non valides? Les tentatives de balises encodent qui pourraient, espérons-être écrit à la page résultant dans le cadre d'une attaque XSS?

Il est difficile de donner toute sorte de conseils spécifiques, sans en savoir plus sur ce que vous essayez d'accomplir.

EDIT : Pour accéder aux événements d'application, ajouter un Catégorie mondiale d'application à votre projet de l'option 'Ajouter un nouvel élément'

.

Chaque demande déclenche le cycle de vie demande , et le cycle de vie de la page est juste un sous-processus à l'intérieur que, lorsque le gestionnaire de requête se trouve être un fichier aspx.

EDIT2 : les données de chaîne de requête de nettoyage dépend entièrement de ce que vous utilisez les données pour. Certaines utilisations potentiellement dangereuses pour les données de chaîne de requête comprennent:

  • Les valeurs pour une commande SQL :. Injection SQL peut être largement atténué par l'utilisation 'des requêtes paramétrées'
  • Lieux de fichier :. Cela pourrait être utilisé pour faire de la toux du serveur tout fichier sur le disque dur si les autorisations NTFS sur le serveur sont laxistes
  • Les valeurs écrites dans la réponse HTML : Un utilisateur peut coder une étiquette et d'exécuter du code JavaScript. Veillez à utiliser Server.Encode () ou nettoyer manuellement la chaîne.
  • valeurs ID : Si vous utilisez la chaîne de requête pour stocker des valeurs d'identité, un utilisateur peut remplacer ceux avec d'autres à tenter d'accéder à l'information au sujet des choses qu'ils ne devraient pas voir, une exemple qui peut être:

    http://domain.com/somepage.aspx?userid=1343243

L'utilisateur fait une supposition et change cela:

http://domain.com/somepage.aspx?userid=0

Et qui pourrait amener l'utilisateur admin.

Autres conseils

Ce que nous suivons dans notre projet à l'utilisation Crypter et Décrypter querystring. Je peux vous envoyer cette classe pour Crypter et la fonction Décrypter. Mais pour référence, vous pouvez commencer avec l'URL suivante si elle aide.

http://geekswithblogs.net/casualjim/articles/64639.aspx

dans ce cas, il est tempéré, il ne pouvait pas être déchiffré. Vous pouvez écrire exception au niveau de la page pour et redirection vers la page d'erreur appropriée.

Laissez-moi savoir si vous avez besoin de plus amples informations sur un point spécifique.

Vive !!!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top