IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Réécriture d'une URL


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut Réécriture d'une URL
    Bonjour,
    il arrive souvent qu'un site affiche directement l'url complète d'une image. Par exemple, http://www/mon-site.com/images/paysage01.jpg.

    Le problème c'est qu'on peut voir paysage02.jpg, paysage03.jpg, etc. Je voudrais donc réécrire l'url pour ne pas montrer le nom des images.

    J'ai trouvé des infos intéressantes sur la toile :
    http://msdn.microsoft.com/fr-fr/library/ms972974.aspx
    Ou encore l'isapi rewrite

    Le lien MSDN est plus avantageux dans mon cas, car je prefère largement touché au web.config qu'a IIS (bien que l'ajout d'un module ne pose pas de réels soucis (normalement)).

    Pour cela, j'ai ajouté ceci dans mon web.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <configSections>
        <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
      </configSections>
      <RewriterConfig>
        <Rules>
          <RewriterRule>
            <LookFor>~/Images/.+</LookFor>
            <SendTo>~/omg.htm</SendTo>
          </RewriterRule>
        </Rules>
      </RewriterConfig>

    Le problème, c'est que ca me redirige au lieu de réécrire bêtement l'url. Est-il possible masquer les images en passant par le web.config ?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Tu as plusieurs solutions à ma connaissance.

    1/ UrlRewriting
    regarde du coté du site : urlrewriting.net (je crois)

    2/ Un handler personnalisé
    image.ashx qui renvoi une image lorsque tu l'appelles :
    http://tonsite.com/image.ashx?image=toto

    3/ Stocker les images dans une base de données (ce qui se couplera avec un handler obligatoirement, je crois)

    4/ Ton propre système
    A développer. Pour ma part, j'ai développé (en complément du "image.ashx"), un usercontrol qui génère les images à la taille voulues (grandes et miniatures), peut ajouter une watermark (... comme le handler) et qui enregistre les images dans un dossier de "cache".


    Quel que soit ton choix, si on voit, coté client <img src="tonlien.ashx?src=toto"... et qu'on tape dans le navigateur : http://tonsite.com/tonlien.ashx?src=toto, on aura la meme image qu'avec son nom ".jpg"

    J'espère ne pas avoir trop de betises, je participe assez peu ici

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Je ne vois pas trop ce que tu cherches à faire. Qu'on accède aux images par leur nom original ou par une url transformée, on pourra toujours accèder à l'image.

  4. #4
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Merci Netah. Je suis déjà en train de rechercher du côté de l'urlrewriting.
    Pour le reste, je voudrais éviter de toucher au code (si je suis obligé de passer par la, alors je me pencherais dessus).

    Et il est vrai qu'on pourra toujours accéder à l'image mais je voudrais que l'utilisateur de base ne puisse pas y arrivé facilement.

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par Spidermeu Voir le message
    Merci Netah. Je suis déjà en train de rechercher du côté de l'urlrewriting.
    Pour le reste, je voudrais éviter de toucher au code (si je suis obligé de passer par la, alors je me pencherais dessus).

    Et il est vrai qu'on pourra toujours accéder à l'image mais je voudrais que l'utilisateur de base ne puisse pas y arrivé facilement.
    Clic droit, enregistrer l'image. Je pense que l'utilisateur de base en est capable

  6. #6
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    c'est sur.
    Je ne vois qu'une solution : faire deux dossiers différents.
    - un public où tout le monde peut accéder aux images contenus dans le dossier
    - un dossier privé, où seuls les utilisateurs connectés pourront voir ces images (par Accessrole).

    Le problème c'est pour les images déjà présentent. Je dois soit les déplacer (un boulot énorme vu le nombre de giga) soit laisser le temps passer ( car les images sont stockées, quelques mois, puis supprimées).

    Qu'en pensez vous ?

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Comme déjà dit ... tu rends ton dossier "privé" (impossible d'y accèder pour tout le monde) et ensuite tu utilises un handler ashx pour retourner les images, handler qui peut contrôler les droits et autoriser / refuser le rapatriement de l'image.

  8. #8
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    je ne connais pas les ashx (je ne suis pas développeur). Aurais-tu un article dessus ?


    EDIT : Pardon, j'ai cherché un peu et j'ai trouvé quelques trucs. A ce que j'ai compris, cela permet de chargé une page bien plus légère.
    Je suis en train de tester les possibilités qui m'interresse.

  9. #9
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Finalement on vient de trouver une technique très simple. C'est de la bidouille mais de la bidouille efficace. Le principe est de faire un cache d'images :

    En fait, lorsque j'arrive sur la page qui affiche le lien vers une image, et bien je copie cette image dans un dossier temporaire. Ensuite je fais pointer le lien vers l'image du dossier temporaire.
    Exemple :

    1- mon image est stocké dans C:\paysage01.jpg
    2- un utilisateur se rend sur la page qui contient le lien vers l'image.
    Au Page_load(), je copie l'image dans D:\paysage01.jpg
    3- j'insère l'image dans la page en mettant src="D:\paysage01.jpg".
    4- Après consultation, je supprime l'image.

    nb : la consultation des images n'a pas lieu toutes les 15 minutes, donc l'impact sur le serveur sera négligeable.

    Pour information, ce sont des images bien spécifiques et ca ne concerne pas les images propres au site.
    Qu'en pensez-vous ?

  10. #10
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    si c'est un probleme de sécurité ou d'acces aux images, je percois mal quel est l'avantage de mettre en cache ton image. Si la problematique s'articule réellement autour de sécurité ou d'acces aux images, seule la solution de Kaidan est viable.

    Bon courage à toi,

  11. #11
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    En réalité, j'ai des images qui peuvent être visualisé par tout le monde dans le dossier de base. Mais il y a aussi des images qui ne doivent surtout pas être visualisées. Ainsi, en mettant en cache les images pouvant être visualisées, elles ne se retrouve plus avec les images confidentielles

    c'est pas forcement propre, mais efficace. non ?

  12. #12
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    désolé mais je ne comprends pas ta logique. Quelque chose m'échappe dans ta solution... Mais si cette solution répond à ton besoin, et bien je ne dirais qu une chose, fonce!

  13. #13
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Mis à part que n'importe quel utilisateur peut lire l'image entre le moment où tu la copies et le moment où tu l'effaces.

  14. #14
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    oui, mais cela ne pose pas de problème vu que se sera forcement une image public

    Par contre, j'ai regardé les ashx, je ne comprend pas comment les utiliser. As-tu un lien intéressant pour que je puisse pratiquer ?

    Dans tout les cas, merci à tous. Je teste le développement de mon fameux cache demain et je vous tiens au courant.

Discussions similaires

  1. Réécriture de l'URL pour passer d'une page JSP vers une autre
    Par meriem meryoma dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 20/04/2013, 08h53
  2. Réponses: 3
    Dernier message: 29/01/2009, 10h45
  3. Réponses: 7
    Dernier message: 20/12/2007, 11h52
  4. Erreur lors de la réécriture d'une url
    Par steph0612 dans le forum Apache
    Réponses: 3
    Dernier message: 07/11/2006, 12h20
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo