Sécuriser fichiers a la racine d'un site [Résolu]

Signaler
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Bonjour,

Je débute en PHP, je voudrais savoir si c'est possible de rendre des fichiers complétement invisible a la racine d'un serveur, comme le fichier .htaccess le fait avec le code suivant :

<Files .htaccess>
order allow,deny
deny from all
</Files>

Peut ont faire la même chose avec d'autres fichiers ? quel code rajouter pour faire ça?

Sinon une autre question : peut on faire un saut vers une ligne de code comme en c++ avec goto ?

if (expression)
    goto JumpHere;
else return;

JumpHere:
...code...

Merci !

8 réponses

Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
Il suffit juste d'avoir un peu de logique

On demande à Apache d'appliquer sur le fichier "test.php" :
<ol><li>d'interdir l'accès à tout le monde ce qui équivaut à faire "deny from all".</li><li>d'autoriser l'adresse IP "94.54.25.14" ce qui équivaut à faire "allow from 94.54.25.14".</li></ol>Jusqu'içi tout le monde avait compris
Mais pourtant vous mettez tous "order allow,deny". Or içi on interdit avant et on autorise après ce qui donne "order deny, allow".

Maintenant en .htaccess çà donne quoi ?
<Files test.php>
    order deny,allow
    deny from all
    allow from 94.54.25.14
</Files>

For every choice, a consequence (Fable)
Messages postés
113
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
24 juin 2009

Pour protéger plusieurs fichiers avec un seul htaccess, il faut mettre plusieurs les paramètres genre :
<Files fichier1.php>
order allow,deny
deny from all
</Files>
<Files fichier2.php>
order allow,deny
deny from all
</Files>

Ou si non, tu peux peut être utiliser les expressions régulières à la place fichier*.php

En php il n'y a pas de goto. Normalement un vrai programmeur n'en a pas de besoin, seul les conditions if/else suffisent.
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Merci Linkman pour la réponse,

En fait je veux autoriser l'accès a un fichier php a la racine de mon site juste pour moi (donc mon adresse IP) j'ai fait ça dans le fichier htaccess :

<Files .htaccess>
order allow,deny
deny from all
</Files>

//Mon fichier à proteger s'appel test.php
<Files test.php>
order allow,deny
deny from all
allow from 94.54.25.14   //mon ip ici
</Files>

En fait l'accès au fichier m'est toujours refusé avec ce code! mon adresse ip est valide, je l'ai vérifié en collant le script suivant dans test.php (et en virant biensur "deny from all" du htaccess sinon j'aurai pas eu accès au fichier) :
<?php
$ip=$_SERVER['REMOTE_ADDR'];
echo("Your IP Address = $ip");
?>

Tu vois d'ou peux venir le problème ?

"En php il n'y a pas de goto. Normalement un vrai programmeur n'en a pas de besoin"
ah ben sympa !
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Il faudrait peut etre voir a respecter l ordre :

<Files test.php>
order allow,deny
allow from 94.54.25.14   //mon ip ici
deny from all
</Files>

Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Bonjour Vilhjálms,

oui j'ai deja testé ça foire aussi, toujours le message :
Forbidden

You don't have permission to access /test.php
on this server.
Messages postés
15
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
1 septembre 2008

Spray
Messages postés
15
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
1 septembre 2008

Spray
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Merci [auteurdetail.aspx?ID=547458 audayls],

c'est effectivement ça