Cryptage url aléatoire

Cryptage url aléatoire - HTML/CSS - Programmation

Marsh Posté le 15-07-2006 à 19:38:14    

Bonjour tout le monde
 
Mon topic est surement mal placé mais bon il est assez général.
Sur mon site, je mets à disposition un fichier en telechargement. J'aimerais que l'adresse url de ce fichier soit crypté et change tout le temps à chaque telechargement...Comment faire ?
 
a+
 
edit: message completement édité


Message édité par worms91 le 16-07-2006 à 01:01:21
Reply

Marsh Posté le 15-07-2006 à 19:38:14   

Reply

Marsh Posté le 15-07-2006 à 20:44:19    

rien compris
le truc du mot de passe aleatoire changera rien ... ou alors j ai mal compris
la seule facon de faire en sorte que l on ne puisse pas se refiler les pass entre potes c est un systeme d identification qui prend l ip en compte
au moment de l inscription classique pseudo mdp toussa tu choppes l ip  
au moment de l identification si ca colle pas avec l ip tu les TT :D

Reply

Marsh Posté le 15-07-2006 à 21:12:35    

C'est pour allopass...
En gros je laisse l'accès à un article de mon site durant 7 jours à la personne qui a acheté un code...
Et pendant ces 7 jours je veux que cette personne et pas les autres ai accès à un dossier de mon FTP ...

Reply

Marsh Posté le 15-07-2006 à 21:18:27    

mIRROR a écrit :

rien compris
le truc du mot de passe aleatoire changera rien ... ou alors j ai mal compris
la seule facon de faire en sorte que l on ne puisse pas se refiler les pass entre potes c est un systeme d identification qui prend l ip en compte
au moment de l inscription classique pseudo mdp toussa tu choppes l ip  
au moment de l identification si ca colle pas avec l ip tu les TT :D


Et si le mec à une IP dynamique, il doit repayer ? :D


Message édité par AlphaZone le 15-07-2006 à 21:18:45
Reply

Marsh Posté le 15-07-2006 à 22:10:41    

ba nan il fait ca bien quand meme :sweat:
genre les 6 premiers chiffres ca suffit ;)

Reply

Marsh Posté le 15-07-2006 à 22:55:45    

Les ip ça change à chaque reconnection sur internet non ?

Reply

Marsh Posté le 16-07-2006 à 00:52:41    

non :o

Reply

Marsh Posté le 16-07-2006 à 01:01:51    

1er message édité à 0 !
une nouvelle idée vient de germer !

Reply

Marsh Posté le 16-07-2006 à 01:04:55    

une page accessible que par mot de passe
ce mot de passe est généré en fonction du pseudo du gars et du délai associé [:spamafote]
 
ou plus simple, si on part du principe que tu as un système d'inscription sur ton site, si une personne paye, et bien elle aura accès à cette page tant de jour (ou plutôt jusqu'au xx/xx/xxxx)
 
à toi de faire le nécessaire derrière

Reply

Marsh Posté le 16-07-2006 à 01:11:51    

1er message édité, plus d'histoire de mot de passe (merci quand même pour ton message)
 
Je cherche maintenant une alternative à mon probleme : le cryptage de l'url en question (cryptage qui change tout le temps à chaque connection)

Reply

Marsh Posté le 16-07-2006 à 01:11:51   

Reply

Marsh Posté le 16-07-2006 à 01:24:25    

jamais vu ce genre de scripts mais c est marrant
genre tu fais un page download.php
elle recupere un identifiant de session quelconque comme le pseudo
elle cree une varaible genre $hash = md5($pseudo.microtime())
le script créé une page qui s appelle $hash.php
avec dedans ton download
puis quand le dl se termine ca renvoie vers une page genre "votre dl est bien terminé" puis efface le fichier temporaire
theoriquement ca marche mais jamais essayé :P

Reply

Marsh Posté le 16-07-2006 à 01:37:34    

tiens, md5 j'ai trouvé ça sur google ^^
j'ai pas tout pigé ton explication (je suis pas top en programmation j'ai que quelques bases)
je vais donner en nom d'une page, une variable ?

Reply

Marsh Posté le 16-07-2006 à 01:44:02    

ben continue a googler :D
la t as le principe de la page
essaie d ecrire le script toi meme parce que je ne le ferai pas a ta place
si t as vraiment un probleme pose tes questions ici
mais un vrai probleme hein :sweat:
mais si tu ne sais pas donner en nom de page une variable tu n as meme pas les bases :/
 
voila le manuel officiel php
http://fr.php.net/manual/fr/index.php

Reply

Marsh Posté le 16-07-2006 à 01:49:24    

j'ai pas dit que je savais pas, je dis juste que j'ai jamais eu l'occaz de le faire quoi
seul rapport entre variable et url que j'ai fait c'était pour déplacer une variable d'une page à l'autre afin de transferer des infos...c'est peut etre ça dont tu me parles d'ailleur

Reply

Marsh Posté le 16-07-2006 à 02:01:46    

ca peut etre fait de la meme facon oui

Reply

Marsh Posté le 16-07-2006 à 02:23:28    

ok

Reply

Marsh Posté le 16-07-2006 à 03:19:46    

Tu peux te baser sur ce genre de script : http://fr.php.net/manual/fr/function.header.php#65667
Ton fichier est disponible sur /download/123. "123" étant l'identifiant de ton client. Avant de lancer le donwload, tu vérifies et stoques dans une bdd le nombre de téléchargements, les éventuelles interruptions, la date de la commande, etc. En fonction de quoi, tu affiches une page d'erreur, tu lances le téléchargement, tu proposes un renouvellement... A toi de créer les contraintes.

Reply

Marsh Posté le 16-07-2006 à 12:00:33    

Slt
 
Je n'arrive pas sur ton lien à trouver l'endroit que je dois lire avec attention...
Je vais essayer pour le moment de faire ce que tu m'as conseillé mirror

Reply

Marsh Posté le 16-07-2006 à 13:13:04    

worms91 a écrit :

Slt
 
Je n'arrive pas sur ton lien à trouver l'endroit que je dois lire avec attention...

Regarde le commentaire vers lequel mène le lien.
Aller, je te le copie/colle...

Citation :

I've created script that gives users ability to download files from closed directory. It supports multithread download and download resuming
 

Code :
  1. <?php
  2. $fname = $_GET['file'];
  3. $fpath = "downloads/$fname";
  4. $fsize = filesize($fpath);
  5. $bufsize = 20000;
  6. if(isset($_SERVER['HTTP_RANGE']))  //Partial download
  7. {
  8.    if(preg_match("/^bytes=(\\d+)-(\\d*)$/", $_SERVER['HTTP_RANGE'], $matches)) { //parsing Range header
  9.        $from = $matches[1];
  10.        $to = $matches[2];
  11.        if(empty($to))
  12.        {
  13.            $to = $fsize - 1;  // -1  because end byte is included
  14.                                //(From HTTP protocol:
  15. // 'The last-byte-pos value gives the byte-offset of the last byte in the range; that is, the byte positions specified are inclusive')
  16.        }
  17.        $content_size = $to - $from + 1;
  18.        header("HTTP/1.1 206 Partial Content" );
  19.        header("Content-Range: $from-$to/$fsize" );
  20.        header("Content-Length: $content_size" );
  21.        header("Content-Type: application/force-download" );
  22.        header("Content-Disposition: attachment; filename=$fname" );
  23.        header("Content-Transfer-Encoding: binary" );
  24.        if(file_exists($fpath) && $fh = fopen($fpath, "rb" ))
  25.        {
  26.            fseek($fh, $from);
  27.            $cur_pos = ftell($fh);
  28.            while($cur_pos !== FALSE && ftell($fh) + $bufsize < $to+1)
  29.            {
  30.                $buffer = fread($fh, $bufsize);
  31.                print $buffer;
  32.                $cur_pos = ftell($fh);
  33.            }
  34.            $buffer = fread($fh, $to+1 - $cur_pos);
  35.            print $buffer;
  36.            fclose($fh);
  37.        }
  38.        else
  39.        {
  40.            header("HTTP/1.1 404 Not Found" );
  41.            exit;
  42.        }
  43.    }
  44.    else
  45.    {
  46.        header("HTTP/1.1 500 Internal Server Error" );
  47.        exit;
  48.    }
  49. }
  50. else // Usual download
  51. {
  52.    header("HTTP/1.1 200 OK" );
  53.    header("Content-Length: $fsize" );
  54.    header("Content-Type: application/force-download" );
  55.    header("Content-Disposition: attachment; filename=$fname" );
  56.    header("Content-Transfer-Encoding: binary" );
  57.    if(file_exists($fpath) && $fh = fopen($fpath, "rb" )){
  58.        while($buf = fread($fh, $bufsize))
  59.            print $buf;
  60.        fclose($fh);
  61.    }
  62.    else
  63.    {
  64.        header("HTTP/1.1 404 Not Found" );
  65.    }
  66. }
  67. ?>



http://fr.php.net/manual/fr/function.header.php#65667

Reply

Marsh Posté le 16-07-2006 à 13:25:03    

ok merci maintenant faut que je déchiffre (ça m'aide pas les commentaires en anglais enfin bon, le code je devrais m'y retrouver un peu plus)
 
merci à toi je vous recontacte en cas de non compréhension

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed