Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
901 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment rajouter des ip dans un .htaccess juste en passant sur le site

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment rajouter des ip dans un .htaccess juste en passant sur le site

n°1221097
Caquistos
Posté le 12-10-2005 à 12:16:15  profilanswer
 

Bonjour, je recherche un code en php, java ou autres.. qui permetterai de rajouter l'ip du surfeur  dans un .htaccess
Voici le code du .htaccess :
 
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName AccesRestreint
AuthType Basic
 
<limit GET POST>
order deny,allow
deny from all
allow from 192.168.0.1
allow from 127.0.0.1
allow from "et plein d'autre ips ici qui se rajoute"
</Limit>
 
Ceci est fais pour obliger les gents a passer sur mon site pour télécharger (principalement pour la pub google ^^) Puis aussi pour eviter que les BLOGs donne mes liens en direct.. Tout ceci est sur des créations de video de jeux(cs, q3, wow).. mapping etc.. (site en construction). Mais deriere un gros server a payer d'où cette protection qu'il me faut absolument


Message édité par Caquistos le 12-10-2005 à 12:21:40
mood
Publicité
Posté le 12-10-2005 à 12:16:15  profilanswer
 

n°1221137
fluminis
Posté le 12-10-2005 à 13:32:04  profilanswer
 

Bonjour,
 
J'ai eu a peu pres le même probleme afin de limiter le téléchargement des fichiers aux seuls utilisateurs enregistrés de mon site.
Ma solution a été de faire un petit fichier dl.php que j'appele : dl.php?id=1212 avec id l'id de mon fichier dans ma base de donnée.
 
Je fais donc mes tests d'identification en php et je protege le repertoire de telechargement avec un deny from all.
Le principe est que le script php a qd meme le droit d'aller lire ce fichier. Il te suffit de faire un readfile par exemple. Associé à quelques headers (que je n'ai plus en tete desolé) tu peux entrainer le téléchargement du fichier.
Je n'ai pas le code sous la main ici mais si ça t'interesse je peux te donner ça ce soir...
 
Bonne prog


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1221155
Caquistos
Posté le 12-10-2005 à 13:53:56  profilanswer
 

Ahh vi pourquoi pas ! C'est sur ca serra peut etre plus simple comme ca.. Je veux bien tester ton script alors ;) au cas où mon mail est caquistos2k@yahoo.fr je t'en remerci d'avance !

n°1221667
fluminis
Posté le 12-10-2005 à 23:31:48  profilanswer
 

Code :
  1. <?
  2. include('motdepasse.php');
  3. if(!empty($_GET['f'])){
  4. $file = $CONF['upload_path'].$_GET['f'];
  5. $size = filesize ($file);
  6. $saveName = basename ($file);
  7. header ('Expires: 0');
  8. header ('Last-Modified: ' .
  9. gmdate ('D, d M Y H:i:s', filemtime ($file)) . ' GMT');
  10. header ('Pragma: public');
  11. header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  12. header ('Accept-Ranges: bytes');
  13. header ('Content-Length: ' . $size);
  14. header ('Content-Type: Application/octet-stream');
  15. header ('Content-Disposition: attachment; filename="' . $saveName . '"');
  16. header ('Connection: close');
  17. readfile ($file);
  18. }else{
  19. print('file missing');
  20. }
  21. ?>


 
par contre il faut sécuriser le script car là il permet a n'importe qui de télécharger des fichiers de n'importe quelle extension (et meme php sans qu'ils soient executer par le serveur)...
$_GET['f'] contient le path vers ton fichier.
Tu peux rajouter un session_start en haut et faire toutes les verifications necessaire pour savoir si ton utilisateur est bien logué et surtout que le path est correct


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1221676
fluminis
Posté le 12-10-2005 à 23:36:28  profilanswer
 

Ha si voila j'ai retrouvé ma fonction pour verifier qu'un path est correct
 

Code :
  1. /**
  2. * Check if a path is deeper than the home
  3. * directory set for downloads.
  4. * Remove ./ and ../
  5. *
  6. * @param $path the path to check
  7. * @param $upload_path the root path for download files
  8. * @return true only if the path is deeper than home
  9. */
  10. function checkPath($path,$upload_path) {
  11. $home = realpath($upload_path);
  12. $real_path = realpath($path);
  13. if(!$home || !$real_path) {
  14.  return !strpos("..",$path);
  15. }else {
  16.  return !strcmp($home,substr($real_path,0,strlen($home)));
  17. }
  18. }


 
et tu fais :
 
if(checkPath($_GET['f'],'path/to/dl/directory/')){
  //download
}else{
  //va t'en mechant garçon
}


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1222151
Caquistos
Posté le 13-10-2005 à 14:59:14  profilanswer
 

Oukidoki merci pour tout ca ! Je vais faire un grand pas en avant grace a ca ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment rajouter des ip dans un .htaccess juste en passant sur le site

 

Sujets relatifs
Design pour site webTransfert d'un site de Linux/Apache à Windows/IIS
Site multilingue - Php ou sous domaines ?Mon site
exporter mon site en flash dans ie>>>besoin d'aide pour un site photo<<<
Fermer une session en quittant le siteProtéger les adresses email affichées sur mon site
Avoir du son sur un site d'une web cam personnelComment mettre image fond écran sous-pages site ?
Plus de sujets relatifs à : Comment rajouter des ip dans un .htaccess juste en passant sur le site


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR