Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modifier QueryString

5 réponses
Avatar
Delf
Bonjour.

J'ai fait une classe qui me permet de chiffrer les param=E8tres en Url.

Actuellement, lors d'une redirection, je fais ceci :

string sUrlRedirection =3D string.Format(
"{0}?message=3D{1}", section.DefaultRedirect, pMessageId);

SecureRedirection.RedirectQueryString(sUrlRedirection, true);

Pour d=E9chiffer, je fais :

NameValueCollection nvCollection =3D
SecureRedirection.DecryptQueryString();

Bref ce n'est pas du tout adapt=E9 car je dois r=E9-=E9crire ce code =E0
chaque fois.
J'aimerai masquer cette impl=E9mentation lors du d=E9veloppement d'une
page.

Existe-t-il un event o=F9 je peux faire ceci une bonne fois pour toute ?
Utiliser un HttpMdule ? Si oui, sur quel event le lier ?

Merci.
Je cherche de mon c=F4t=E9.

--
Delf

5 réponses

Avatar
jchtible
Bonjour,

Si j'ai bien compris ton soucis, je pense que tu peux créer une classe
héritant de System.Web.UI.Page et contenant tes méthodes de
cryptage/decryptage.

Ensuite il te reste juste à faire hériter toutes les pages de ton site de la
classe créer ci dessus.



"Delf" wrote:

Bonjour.

J'ai fait une classe qui me permet de chiffrer les paramètres en Url.

Actuellement, lors d'une redirection, je fais ceci :

string sUrlRedirection = string.Format(
"{0}?message={1}", section.DefaultRedirect, pMessageId);

SecureRedirection.RedirectQueryString(sUrlRedirection, true);

Pour déchiffer, je fais :

NameValueCollection nvCollection > SecureRedirection.DecryptQueryString();

Bref ce n'est pas du tout adapté car je dois ré-écrire ce code à
chaque fois.
J'aimerai masquer cette implémentation lors du développement d'une
page.

Existe-t-il un event où je peux faire ceci une bonne fois pour toute ?
Utiliser un HttpMdule ? Si oui, sur quel event le lier ?

Merci.
Je cherche de mon côté.

--
Delf



Avatar
Delf
jchtible vient de nous annoncer :

Bonjour,



Bonsoir,

Si j'ai bien compris ton soucis, je pense que tu peux créer une classe
héritant de System.Web.UI.Page et contenant tes méthodes de
cryptage/decryptage.

Ensuite il te reste juste à faire hériter toutes les pages de ton site de la
classe créer ci dessus.



Oui mais je préfèrerai passer par un HttpModule pour ne pas avoir à
hériter d'une classe (mes pages héritent déjà d'une autre classe qui
elle même hérite de System.Web.UI.Page).

Par ailleurs la collection QueryString est en lecture uniquement... je
bloque.

Merci.

--
Delf
Avatar
Patrice
Bonjour,

Le HttpModule permet d'accéder à la requête HTTP mais ne permettra
probablement pas d'avantage de modifier QueryString (par principe c'est ce
que passe le navigateur).

La classe de base existe déjà, y ajouter éventuellement cette fonction. Le
but n'est pas de modifier la collection mais de pouvoir lire la valeur
cryptée.

Pour l'instant j'y ajouterais donc qq chose comme QueryStringDecrypted qui
pourrait être une fonction. Elle récuperait la valeur présente dans
QueryString, ferait le décryptage et retournerait le résultat.

Cela permettrait dejà de voir si le principe est ok avant peut-être de
transformer cela en collection pour avoir exactement la même interface que
QueryString. Je le garderais séparé pour pouvoir aussi traiter ce qui n'est
peut-être pas crypté...

La seule différence est alors le choix entre QueryString("valeur") et
QueryStringDecrypted("valeur") selon que la valeur est encryptée ou pas...

--
Patrice


"Delf" a écrit dans le message de groupe de discussion :
499af6f4$0$6707$
jchtible vient de nous annoncer :

Bonjour,



Bonsoir,

Si j'ai bien compris ton soucis, je pense que tu peux créer une classe
héritant de System.Web.UI.Page et contenant tes méthodes de
cryptage/decryptage.

Ensuite il te reste juste à faire hériter toutes les pages de ton site de
la classe créer ci dessus.



Oui mais je préfèrerai passer par un HttpModule pour ne pas avoir à
hériter d'une classe (mes pages héritent déjà d'une autre classe qui elle
même hérite de System.Web.UI.Page).

Par ailleurs la collection QueryString est en lecture uniquement... je
bloque.

Merci.

--
Delf




Avatar
Delf
Delf avait écrit le 17/02/2009 :

Si j'ai bien compris ton soucis, je pense que tu peux créer une classe
héritant de System.Web.UI.Page et contenant tes méthodes de
cryptage/decryptage.

Ensuite il te reste juste à faire hériter toutes les pages de ton site de
la classe créer ci dessus.



Oui mais je préfèrerai passer par un HttpModule pour ne pas avoir à hériter
d'une classe (mes pages héritent déjà d'une autre classe qui elle même hérite
de System.Web.UI.Page).

Par ailleurs la collection QueryString est en lecture uniquement... je
bloque.



Personne ne peut m'aider sur ce coup là ?

--
Delf
Avatar
euh... petite suggestion peut-etre bête :
=> classe statique (donc accessible depuis partout) qui fait le cryptage &
decryptage
=> Response.Redirect("URLtransformé") pour redirigé, avec un if pour
rediriger la page... ou pas
=> à mettre dans une masterpage dans le page_load

bye
Nico

"Delf" a écrit dans le message de
news:499c7bbd$0$6719$
Delf avait écrit le 17/02/2009 :

Si j'ai bien compris ton soucis, je pense que tu peux créer une classe
héritant de System.Web.UI.Page et contenant tes méthodes de
cryptage/decryptage.

Ensuite il te reste juste à faire hériter toutes les pages de ton site
de la classe créer ci dessus.



Oui mais je préfèrerai passer par un HttpModule pour ne pas avoir à
hériter d'une classe (mes pages héritent déjà d'une autre classe qui elle
même hérite de System.Web.UI.Page).

Par ailleurs la collection QueryString est en lecture uniquement... je
bloque.



Personne ne peut m'aider sur ce coup là ?

--
Delf