PHP crypter en base 64 liens image pour site e-commerce

Résolu
Bonjour,

Alors voilà je voudrais demander au webmaster assez adepte du cryptage de donnée comment puis-je crypter mets urls je m'explique :

Voilà un exemple que je voudrais crypter :


<img src="image/paypal.png"/>

Je voudrais crypter en base64 le lien de pointage vers l'image la il s'agit d'un exemple dans mon qu'a c'est sous cette forme:


<?php

$image1='image/paypal.png';

$achat='<img alt="acheter" title="acheter" src=" '.$image1.' " width="150" height="48" />';

?>


Comment puis-je procéder ?

3 réponses

  1. Modérateur
    Salut,

    que cherches-tu à faire ?
    Parce que si c'est cacher l'url de l'image, ça ne sert à rien. Il va bien falloir à un moment ou à un autre que le navigateur du client sache où aller chercher cette image.

    Quant à crypter dans le php, ça ne sert à rien, vu qu'il est interprété sur le serveur et envoyé en tant que html 'pur' au navigateur.
    1. et bien je voudrais passer de ça :

      <img src="image/paypal.png"/>

      a ça :

      <img src="aHR0cDovL2Jhbm5lci50aXRhbnBva2VyL/paypal.png"/>

      qui crypte le lien de pointage vers l'image un peut comme les site e-commerce style paypal ou on peut voir la chose sous cette forme.

      pas forcement crypter tout mais du moins le lien de pointage
    2. Modérateur
      D'accord, mais qui va le décrypter ?
    3. Et bien j'avais pensé à une fonctionne PHP interpréter par le serveur à incorporer dans la page qui peut lui lire le cryptage et quand ont examinent le code source de la page en tant que visiteur et bien cela reste crypter.
    4. Modérateur
      Le PHP est interprété AVANT d'être envoyé au navigateur puisque ce dernier ne sait pas l'exécuter.
      Donc, si tu veux que le navigateur aille chercher l'image lors de l'affichage de la page, il doit en connaitre l'url...
    5. effectivement c'est pour ça que j'ai mis en variable le lien absolu du répertoire ou se trouve l'image,

      $image1='image/paypal.png';

      donc au faite il fraudais que ça soit la valeur de cette variable $image1 qui soit crypter ...
  2. Contributeur
    'lut
    $image1='image/paypal.png';
    $achat='<img alt="acheter" title="acheter" src="data:image/png;base64,'.base64_encode(file_get_contents($image1)).'" width="150" height="48" />';

    from human import idiocy
    del idiocy
    1. ahhhhh voilà c'est exactement ça !!! merci beaucoup ça marche nikel !

      dit moi une petite question est-ce valable pour tout type de liens ? exemple ça :

      <a href="accueil.php?page=prestataire">Prestataire</a></li>

      A conditions que je mette le lien en variable bien entendu ...
    2. Contributeur
      PS: c'est pas crypté, c'est juste encodé en base64; ça a des avantages (1 requête HTTP en moins) mais aussi des désavantages (~33% de taille en plus). N'importe qui qui a la chaîne base64 envoyée peut la décoder et regarder l'image.
    3. ahhh ok merci donc est-ce vraiment utile au finale ? a moins d'avoir un encodage irréversible ?
    4. Contributeur
      Si l'image est petite (genre une icone de max 48x48) oui, sinon non car ça fait plus de données à transférer pour le même résultat.
    5. effectivement ça grossi en taille merci de tes éclaircissement ça m'aide beaucoup , ensuite voilà en vue de ta solution qui marche bien je doit dire l'encodage est t'il valable pour du css par exemple?

      car j'ai pas mal de petites images en background de div exemple ça


      #img_logo1 {
      height : 100px; /* hauteur maximum logo */
      width : 163px;
      background : url(img_presta/logo.png) no-repeat center top;
      }