2017-09-26 14 views
0

J'ai donc un fichier config.json que je veux bloquer pour les connexions externes, comme les personnes qui y accèdent directement, il est nécessaire que mon script s'exécute donc je veux mettre en liste blanche seulement mon propre serveur qui héberge le fichier et pas de connexions externes.Bloquer l'accès à un fichier de configuration à partir d'une requête externe mais pas interne dans les hôtes virtuels Apache2

J'ai essayé ceci dans ma config VirtualHost mais il ne semble pas fonctionner car il donne 403 erreur interdite même pour mon script qui est sur le même serveur.

<Files config.json> 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 
</Files> 

S'il vous plaît, aidez, merci!

Répondre

0

Essayez ceci:

<Files config.json> 
    Allow from 127.0.0.1 
    Order allow,deny 
</Files> 
+0

ne fonctionne pas, donne 403 erreur interdite même dans mon propre script. – AdityaTD

+0

Cela fonctionne pour moi. Quelle est la valeur de REMOTE_ADDR imprimée lorsque toute la section Fichiers est désactivée? – akond

+0

Que voulez-vous dire? Comment est-ce que je l'imprime? – AdityaTD

0

Dans l'exemple suivant, il n'y a pas d'authentification et de tous les hôtes du domaine 127.0.0.1 sont autorisés à accéder; tous les autres hôtes se voient refuser l'accès.

2.2 Configuration:

<Files config.json> 
Order Deny,Allow 
Deny from all 
Allow from 127.0.0.1 
</Files> 

2,4 configuration:

<Files config.json> 
Require host 127.0.0.1 
</Files> 
0

'... sur le même serveur ...' = 127.0.0.1! Je soupçonne que votre script s'exécute sur le même serveur mais qu'il accède au processus serveur via une adresse IP publique.

Si j'ai raison, il y a deux possibilités.

  • reconfigure votre script d'accès via localhost ou 127.0.0.1
  • remplacer l'adresse dans la déclaration Allow from avec les serveurs traitent