Aller au contenu

Limitation ou Restriction de téléchargement


dj2d

Messages recommandés

Salut à tous !

Voilà, donc je vais faire le plus détaillé possible :

J'ai créé un site de vente d'objets virtuels (www.wow-boutique.com),

Et pour la livraison automatique des objets (Bien plus pratique) tout se passe par mail, graçe à Outlook (Il reconnait le paiement graçe au corps du message reçu, et envoi donc le mail contenant le lien pour télécharger le fichier.)

Seulement voilà, la personne reçoit le lien, télécharge, et peut faire tourner le lien, télécharger plusieurs fois etc..

Je connais l'HTML, mais niveau Mysql / php je suis un débutant...

Si quelqu'un a une idée à me soumettre, pour m'aider, je lui en serais très reconnaissant ! (Surtout si c'est bien expliqué :love: )

Ou si vous connaissez un système complètement différent du mien, n'hésitez pas non plus à le proposer !

Cordialement,

Dj2d

Lien vers le commentaire
Partager sur d’autres sites

En gros ce qu'il faudrait que tu fasses c'est à partir du moment où tu acceptes que l'utilisateur télécharge un objet, générer un identifiant (un UUID par exemple) associé à cet objet et inclus dans le lien envoyé à l'acheteur. Quand la personne visite ce lien, du code doit vérifier que l'identifiant correspond à un objet existant, et renvoyer l'objet en question au client (objet normalement inaccessible, dans un dossier protégé par un .htaccess par exemple), puis supprimer l'enregistrement correspondant à l'identifiant.

Par contre ça ne protègera pas tes e-books du partage entre potes voire de la mise à disposition sur réseaux P2P, à moins de mettre en place une "solution" de type DRM (qui finira par être crackée si quelqu'un estime que ça en vaut la peine de toute manière).

Aussi, autant les e-books ne doivent pas poser de problème, autant la mise en place de bots ou l'exploitation de bugs sont deux choses que je vois mal Blizzard ne pas avoir interdit. De fait, tu t'exposes à des sanctions, voire plus vu que tu fais commerce de ce genre de choses.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses, et oui je sais tout ça pour le partage P2P etc.. Mais ce qui m'importe en fait, c'est que l'acheteur ne puisse ni réutiliser le lien 100x fois, ni le faire tourner.

Après en ce qui concerne bot/ use bugs/ exploits etc.. à partir du moment ou les bots sont pas détectés : 100% safe, sauf si on se faire report MJ par un autre joueur, mais comme y'a un système de répondeur aux messages qu'on nous envoie, bha en général ça arrive pas x)

Pour les bugs etc.. si on est discret quand on les utilise (Genre pas se pointer en faisant un saut de 150m au dessus d'une capitale (Déjà vu -_-)) bha y'a pas de soucis ^^

Ce ne serait pas trop abusé de demander un petit exemple de ce que tu me proposais Breiz?

En tous cas, merci à tous les deux :love:

Lien vers le commentaire
Partager sur d’autres sites

Un petit up pour demander si quelqu'un pourrait m'aider à mettre ce système en oeuvre !

Par ailleurs, tu avais raison pour les bots, pour plus de sureté, je les ai enlevés.

Je vais écrire des Ebooks sur un peu tous les jeux en lignes que je connais bien x)

Allez, celui qui m'aide, je le fait un [big Max Poutou Baveux] :)

Lien vers le commentaire
Partager sur d’autres sites

Ce ne serait pas trop abusé de demander un petit exemple de ce que tu me proposais Breiz?

J'ai pas trop le temps en ce moment, désolé. Peut-être ce week-end si je suis motivé ou que je veux respirer entre deux lignes de codes de mon propre site perso (enfin, celui sur lequel je (suis sensé) bosse(r ) en offline pour le moment).

Mais je ne peux rien promettre.

Lien vers le commentaire
Partager sur d’autres sites

on n'est pas sence te pondre ton code mais t'aider a le realiser... (quelque part dans la charte, ou ces topics a lire a l'inscription theoriquement)

enfin, le plus simple serait un script php

dans un mail que tu leur envoit, tu les redirige sur une page avec deux arguments en get (genre http://monsite.com/mapage.php?usr=1234&file=5678)

<?php
set_time_limit(0);
header("Content-Type: application/octetstream");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

if (isset($_GET['usr']) && isset($_GET['file']))
 {
$usr = $_GET['usr'];
$file = $_GET['file'];
if (!is_numeric($usr) || !is_numeric($file))
  echo "<script>alert('error')</script>";
else
  {
	$file = md5($file).sha1($user);
	$file .= ".jpg";
	if (file_exists($file))
	  {
		passthru("cat $file");
		exec("rm $file 2>&1 &");
	  }
	else
	  echo "<script>alert('no such file')</script>"
  }
 }
?>

enfin, pour faire ca, faut un serveur sous unix, sinon, t'as l'equivalent de ces commandes sur un shell windows

un dernier inconveniant, si le client ne recupere pas l'image correctement du premier coup, c'est foutu

a, et j'oubliais le code pour la mise a disposition de l'image

<?php
/* une fois que le mec a achete son truc */
$commande = mysql_real_escape_string($_GET['le_fichier_acheter']); /* attention en nommant tes fichier: mais pour des raisons de securite, il est preferable de bloquer un maximum de conneries */
$user = rand(1, 1024);
$file = rand(1024, 1048576);
$toto = md5($file).sha1($user);
$link = "monsite.com/mapage.php?usr=".$user."&file=".$file;
exec("cp $commande $toto");
if (!mail ($_GET['mail'], "[monsite.com] recuperez votre fichier !", "Vous pouvez maintenant recuperer votre fichier en cliquant <a href=$link target=top> sur ce lien</a>!<br /><br />Si votre client mail ne supporte pas l'html, il vous suffit de reporter la cible du lien ($link) dans la barre d'adresse de votre navigateur<br />"))
 <script>window.open($link)</script>
?>

c'est du 'pas teste a debuguer'

mais bon, je suis deja paye pour pondre du code propre, la, c'est un coup de main :oops:

edit: par contre, le fichier a enregistre sera par defaut mapage.php

un header("Content-Disposition: attachment; filename=image.jpg"); resoudra le probleme sous IE, mais pour les autres navigateurs, je n'ai pas trouve la solution (et c'est d'ailleurs le sujet d'un autre topic que j'ai cree il y a quelques temps, reste sans reponses...)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...