OVH Cloud OVH Cloud

upload securise

1 réponse
Avatar
Yves Lange
Voilà,
je voudrais qu'après paiement et validation de l'achat de mon programme
en-ligne le client puisse télécharger un fichier. Petit problème: une
fois que le client à acheter mon programme il peut mémorisé sans aucun
problème le lien et le redistribuer (mon programme ne comporte aucun
sécurité: licences, serial etc...) Comment faire pour qu'il puisse
télécharger un fichier sans avoir le lien.

Je sais que cette question est très vague mais pouvez-vous essayer de
répondre n'hésitez pas à me faire savoir s'il manque des éléments dans
mon message.

1 réponse

Avatar
clifden

Je sais que cette question est très vague mais pouvez-vous essayer de
répondre n'hésitez pas à me faire savoir s'il manque des éléments dans
mon message.


La solution est de fabriquer un lien qui est:
** ou valable quelques minutes
** ou valable une seule fois

qui serait du type: download.php?id_item=...&hash=...

** Méthode simple:
Pour faire un hash qui ne sera valable que quelques minutes:

fabrication du hash:
$hash=md5($id_item.$donnee_privee.date('d/m/Y H:i'));

Tu verifies ensuite le hash de la manière suivante:

$hash=$_GET['hash'];
$okúlse;
for ($i=0;($i<10)&&($ok=úlse);$i++) { // lien ne date pas de plus de 10mn
$hash2=md5($id_item.$donnee_privee.date('d/m/Y H:i',mktime()-60*$i));
if ($hash2==$hash)
$ok=true;
}

if ($ok) { // download!
...
}

** Méthode plus complexe:
Une classe php que j'ai codé qui permet de gerer un lien valide pour
* un certain nombre d'utilisation
* un certain temps
dispo sur: http://www.phpclasses.org/browse/package/1451.html