Pages : 1
#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 !! 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