Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/02/2015, à 00:05

renaud07

[Apache] limiter à une IP le téléchargement d'un fichier

Bonsoir,

Je souhaite partager un fichier avec une personne, jusque là, rien de bien sorcier. Mais cette personne est susceptible d'envoyer le lien à une autre personne et je ne veux pas que cette dernière y est accès.

J'aimerais donc, limiter à une seule ip (peu importe laquelle) l'accès au fichier, de sorte que si quelqu'un d'autre se connecte ça ne fonctionne pas. Je pourrais le faire via allow et deny, mais vu que je ne connais pas l'IP cible...

Y a t-il donc un autre moyen ? Appliquer la restriction à un dossier avec un .htaccess (ou similaire) serait l'idéal.

Merci d'avance.


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#2 Le 14/02/2015, à 21:02

cocolapin2007

Re : [Apache] limiter à une IP le téléchargement d'un fichier

$adresse_ip = $_SERVER['REMOTE_ADDR'];

affichera l'ip de l'utilisateur dans une page php, si cette personne va sur le lien en premier tu aura l'ip dans une variable, envoi cette ip dans une base sql, tu récupère l'ip de la base sql dans la fameuse page, une condition genre if $ip = $ipreg tu affiche le lien de dl sinon message d'erreur.

Je peux te faire un modèle si tu veux.

Hors ligne

#3 Le 15/02/2015, à 00:27

cocolapin2007

Re : [Apache] limiter à une IP le téléchargement d'un fichier

Je parlais ci dessus d'enregistrer l'ip en base sql !! lol n'importe quoi, je suis resté simple, en créant en place de la page contenant le lien un fichier texte nommé simplement ip sans extension fopen nous permettant d'ouvrir le fichier texte et le lire c'est génial et plus simple.

j'ai détaillé le code, il est assez clair, y'à peut-être plus simple, mais bon je suis débutant j'ai reussi à pondre sa en 15 minutes !!

<?php
// On récupère l'ip client
$ipclient = $_SERVER['REMOTE_ADDR'];

// On récupère l'ip enregistré précédement

$ipreg = fopen('ip', 'r+');
   
$ip_reg = trim(fgets($ipreg));
 
fclose($ipreg);


// On vérifie si la variable est vide 
 if(empty($ip_reg)){

	// Comme la variable est vide, on enregistre l'ip client dans un fichier texte
	
	$ip=fopen("ip", "a");
fputs($ip, $ipclient);
fclose($ip);

//et  On récupère l'ip enregistré afin de remplir la variable

$ipreg = fopen('ip', 'r+');
   
$ip_reg = trim(fgets($ipreg));
 
fclose($ipreg);
    }


// On compare l'ip enregistré avec l'ip client

if ($ipclient == $ip_reg) // Si identique, on affiche lien 
{
    echo "<a href=\"http://forum.ubuntu-fr.org\">Mon lien</a>";
  
}
else // SINON
{
    echo "Vous n'avez pas l'autorisation d'accèdé à cette page.";

}

?>

N'hésite pas à me faire un retour !!

Dernière modification par cocolapin2007 (Le 15/02/2015, à 00:28)

Hors ligne

#4 Le 18/02/2015, à 23:28

renaud07

Re : [Apache] limiter à une IP le téléchargement d'un fichier

Salut,

Merci beaucoup, ça marche super bien ! J'ai simplement remplacé l'affichage du lien par le téléchargement direct du fichier (vu qu'une fois le lien affiché on peut très bien le copier, et lui-même n'est pas protégé). Je doute que la personne soit assez maligne pour aller regarder le code source de la page...


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne