begin process at 2012 05 31 07:55:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

protections de fichiers derriere allopass


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

protections de fichiers derriere allopass

lundi 26 mars 2007 à 19:29:00 | protections de fichiers derriere allopass

seabird

Bonjour,

Je suis actuellement en train de faire le site d'un groupe de musique sur lequel les morceaux seront vendus derriere allopass.
j'utilise donc le script php fournit par allopass pour le telechargement d'un fichier.

[code]
<?php
$RECALL=$HTTP_GET_VARS["RECALL"];
if (trim($RECALL)=="")
{
  // La variable RECALL est vide, renvoi de l'internaute
  //vers une page d'erreur
  header("Location: erreur.html");
  exit;
}

// $RECALL contient le code d'accès
$RECALL = urlencode($RECALL);

// $AUTH doit contenir l'identifiant de VOTRE document
$AUTH = urlencode("54/75/456");
 
// $FICHIER_LOCAL doit contenir le chemin et le nom du fichier
//à téléchargé présent sur votre site
$FICHIER_LOCAL = "mes_fichiers/monfichier.zip";

// $FICHIER_INTERNAUTE doit contenir le nom du fichier qui sera créé sur
//l'ordinateur de l'internaute
// Ce nom ne doit pas être forcément le même que le nom du fichier local !
$FICHIER_INTERNAUTE = "lefichier.zip";

// envoi de la requête vers le serveur AlloPAss
// afin de vérifier le code d'accès de l'internaute.
// Dans la variable $r[0] on aura la réponse du serveur
$r=@file("http://www.allopass.com/check/vf.php4?CODE=$RECALL&AUTH=$AUTH");

// on test la réponse du serveur
if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
{
  // Le serveur a répondu ERR ou NOK : l'accès est donc refusé
  header("Location: erreur.html");
  exit;
}

// Le code est valide : on lance le téléchargement du fichier
if (file_exists($FICHIER_LOCAL)==true)
{
  if (strstr($HTTP_USER_AGENT,"MSIE"))
   $attachment="";
  else
   $attachment=" attachment;";

  header( "Content-type: application/octet-stream" );
  header( "Content-Disposition:$attachment filename=$FICHIER_INTERNAUTE");
  header( "Content-Description: File Transfert" );
  header( "Content-Length: ".filesize($FICHIER_LOCAL)."");
  readfile($FICHIER_LOCAL);
  exit;
}
?>
[/code]

en ayant pris soit de mettre la variable RECALL=1 dans le formulaire d'entrée du code allopass.

J'ai également mis un htaccess pour empécher les liens direct de la forme

[code]
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mon-domaine\.fr/.*$ [NC]
RewriteRule \.(mp3|rar|zip)$ http://mon-domaine.fr/interdit.php [NC,R,L]

[/code]

Je croyais que tout fonctionnait , j'ai par exemple essayé de recuperer le fichier avec intellitamper qui a scanné le site, il a bien été refusé au moment ou j'ai cliqué dessus. Mais je viens de m'apercevoir que je réussissais a telecharger le fichier en tapant le lien directement dans Free download manager .

Je ne sais pas trop comment palier à cela.

De votre côté comment faites vous pour protéger correctement vos fichiers ?

Merci

lundi 26 mars 2007 à 21:32:07 | Re : protections de fichiers derriere allopass

Dawelle

Réponse acceptée !
Salut,

Pour que la protection soit effective, il faut que les fichiers soient interdits d'accès s'ils ne passent pas par le script PHP.

Dans le script ci-dessus, les fichiers à protéger sont dans le répertoire "mes_fichiers" ($FICHIER_LOCAL, ligne 19).

Essaie de mettre un fichier ".htaccess" contenant simplement "deny from all" dans le répertoire "mes_fichiers".

Ensuite, l'accès à ce répertoire sera refusé pour n'importe quelle requête effectuée depuis l'extérieur (en l'occurence, le htaccess que tu as cité ci-dessus pour empêcher les liens externes n'est pas impératif).

Je crois que ça répond à ta question mais dis-le moi si ce n'est pas le cas.

Dawelle
lundi 26 mars 2007 à 23:17:21 | Re : protections de fichiers derriere allopass

seabird

Merci pour ta suggestion.
Je viens donc d'essayer en mettant "deny from all" dans un htaccess dans le repertoire "mes_fichiers" . Mais ça coince,  maintenant le script allopass ne passe plus du tout quand je rentre un code valide pour télécharger le fichier, j'ai une erreur 403 acces refusé.

Je cherche également de mon coté, mais j'ai rien de probant pour l'instant.

 

mardi 27 mars 2007 à 00:41:02 | Re : protections de fichiers derriere allopass

seabird

A autant pour moi , je viens de m'apercevoir que j'avais mis mon script dans le repertoire "mes_fichiers" . forcément , il ne pouvait pas y accéder .
J'ai donc corrigé , c'est bon apparemment ca marche.

Merci , encore.


Cette discussion est classée dans : fichier, code, http, allopass, recall


Répondre à ce message

Sujets en rapport avec ce message

Protection avec Allopass [ par piep14 ] Bonjour a tous !!! Dnc voici mon problème : Je souhaite que a partir de mon site, les utilisateurs puissent ajouter leur banniere en contribution d'u Fichier ... [ par DeAtHCrAsH ] Mon problème est simple:Je dispose d'un fichier composé comme ceci:123456Je souhaite supprimer tout ce qui se trouve avant Inclure un fichier [ par SatanCorporation ] Salut a tous je cherche comment inclure un fichier qui n'est pas en localexemple:je veux include le fichier suivant dans ma page :http://www.google.fr Afficher l'extansionde la pièce jointe , au lieu d'un fichier .tmp [ par azerto00 ] bonjours, j'ai adopté un code .php quipermet d'ajouter une pièce jointe par mail , mais le problème est que le fichier recu porte l'extension .php et lien fichier local avec easyphp [ par toineekikil ] Bonjour, Alors voila je fais un site intranet et j'utilise easyphp. J'ai besoin de consulter un fichier excel, j'ai donc commencé par faire un incrementation en php [ par kyript ] bonjour en faite dans mon formulaire, on peut upload un fichier mais le pb j'aimerai genere un code qui s'increment a chaque upload de fichier Formulaire+base de données [ par CHABRY ] Salut! J'ai un formulaire dans lequel je vais saisir les informations sur un livre, et à partir d'un liste nommeé operation,  je peux choisir une opti Problème avec un script ! [ par vernoff ] Salut, j'ai télécharger ce script sur votre site :http://www.phpcs.com/code.aspx?ID=12830le problème c'est que laffichage des news marche pa pourtant erreur sur code [ par mike501 ] bonjour je viens de telecharger un code mais le souci quand je le mais sur mon site c est que l image ne veut pas s afficherregarder en page de cet pa code php [ par lucky82 ] bonjour   j'ai deux fichiers php je voudrai que le bouton du deuxieme fichier s'execute  automatiquement ,lorsque je clique sur le bouton qui est dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales