none
Cryptage de querystring RRS feed

Réponses

  • Bonjour François
    Ici je vois deux solutions :

    1. Crypter le Id pour qu'il devient incompréhensible. L'avantage est que c'est une méthode directe. Le désavantage c'est que si quelqu’un copie l’URL de l'image il aura toujours l'image. Mais il ne peut pas faire une boucle pour récupérer votre image. Ce n'est pas 100% sécurisée. Ici vous avez un exemple de cryptage – décryptage:

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/d6a2836a-d587-4068-8630-94f4fb2a2aeb/encrypt-and-decrypt-a-string-in-c?forum=csharpgeneral

    2. Avoir une table de mappage dans la BD ou vous insérez un GUID correspondent à un ID de image avec la date et l'heure initiale. De cote ashx vous recevez le GUID, recouperez le ID de l'image dans la table, et si le distance en temps entre la date initiale et la date de l'exécution de l'ashx est plus grand que un intervalle fixée, vous retournez un message d'erreur. C'est 100% sécurise, mais plus difficile a implémenter.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    • Marqué comme réponse Aurel Bera jeudi 27 février 2014 10:54
    vendredi 21 février 2014 08:14
  • Ah... c'est bien ce que je craignais.

    J'ai eu une autre idée.

    Rattachée au serveur pour la gestion des images, un service WCF a été mis en place.

    Si j'ai bien lu sur le net, il me semble que les service WCF sont disponibles sous java.

    Je pourrais donc implémenter une sorte de génération de clef à ce niveau...


    FB

    • Marqué comme réponse Aurel Bera jeudi 27 février 2014 10:55
    mercredi 26 février 2014 09:51

Toutes les réponses

  • Bonjour François
    Ici je vois deux solutions :

    1. Crypter le Id pour qu'il devient incompréhensible. L'avantage est que c'est une méthode directe. Le désavantage c'est que si quelqu’un copie l’URL de l'image il aura toujours l'image. Mais il ne peut pas faire une boucle pour récupérer votre image. Ce n'est pas 100% sécurisée. Ici vous avez un exemple de cryptage – décryptage:

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/d6a2836a-d587-4068-8630-94f4fb2a2aeb/encrypt-and-decrypt-a-string-in-c?forum=csharpgeneral

    2. Avoir une table de mappage dans la BD ou vous insérez un GUID correspondent à un ID de image avec la date et l'heure initiale. De cote ashx vous recevez le GUID, recouperez le ID de l'image dans la table, et si le distance en temps entre la date initiale et la date de l'exécution de l'ashx est plus grand que un intervalle fixée, vous retournez un message d'erreur. C'est 100% sécurise, mais plus difficile a implémenter.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    • Marqué comme réponse Aurel Bera jeudi 27 février 2014 10:54
    vendredi 21 février 2014 08:14
  • Re Bonjour

    Avez-vous des nouvelles pour nous?
    Vous pouvez aussi utiliser comme ID de l'image un GUID. Il peut être copié, mais toujours l’utilisateur ne peut pas avoir tous vos images.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 24 février 2014 11:02
  • Excusez moi

    Je pense que je vais devoir me rapprocher de votre 2ème solution. Je suis toujours en phase de réflexion à ce sujet.


    FB

    lundi 24 février 2014 11:28
  • Est que c'est possible  de passer des variables Session entre votre page application et la page ASHX ?
    CAD utiliser un serveur SQL pour partager les Sessions (Mode SQL Server ici )  ou si les ASPX et ASHX sont sur le même serveur?
    Dans ce cas on ne doit pas utiliser SQL, on peut passer les Id via des variables Session.

    Vous définissez des variables session de Session("image1") = id image, utilisez
    http://************/GrangePhoto/ImgHandler.ashx?id=image1&Taille=3
    et dans la page ASHX  vous recouperez Session (Request.QueryString("id")) pour l'id.
    Apres l'e récupérer vous supprimez avec Session (Request.QueryString("id")) = -1.

    Je dirais que c'est la plus simple solution, mais cela fonctionne seulement si vous pouvez partager les variables Session.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 26 février 2014 08:01
  • Bonjour Aurel,

    C'est pas encore validé, mais il y a de forte chance que les ashx ne soient pas toujours exploitées par un environnement dotnet (il y aura aussi du java).

    Je n'avais pas pensé aux variables session SQL Server, je vais étudier cette solution.

    Merci

    Je vous tiens au courant


    FB

    mercredi 26 février 2014 09:27
  • Dans ce cas, sera un peu difficile de recouper de cote Java les valeurs enregistrées dans le serveur de session SQL.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 26 février 2014 09:34
  • Ah... c'est bien ce que je craignais.

    J'ai eu une autre idée.

    Rattachée au serveur pour la gestion des images, un service WCF a été mis en place.

    Si j'ai bien lu sur le net, il me semble que les service WCF sont disponibles sous java.

    Je pourrais donc implémenter une sorte de génération de clef à ce niveau...


    FB

    • Marqué comme réponse Aurel Bera jeudi 27 février 2014 10:55
    mercredi 26 février 2014 09:51
  • L'idée c'est la même n'importe quel solution on choisit:

    On doit remplacer POST ou QUERYSTRING avec une méthode de transfert au serveur (SQL, SESSION, Fichiers texte peut-être, etc….) et utiliser POST ou QUERYSTRING seulement pour envoyer un ID de l’opération de transfert, et pas un ID de l’image.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 26 février 2014 10:18