2010-03-12 23 views
2

Je suis dans un environnement de développement et nous utilisons l'authentification basique .htaccess/.htpasswd pour empêcher les rôdeurs. Mais certains de mes appels AJAX reviennent avec des erreurs d'authentification HTTP/401. Est-il possible pour moi d'autoriser l'accès uniquement à ces URL spécifiques? Je ne peux pas facilement le faire en ouvrant un nouveau .htaccess dans un sous-dossier parce que CodeIgniter utilise ReWrites.Puis-je déprotéger un seul script via .htaccess en utilisant CodeIgniter?

Répondre

1

Il n'est pas possible d'autoriser uniquement l'accès à ces URL spécifiques. Malheureusement, l'authentification .htaccess et .htpasswd fonctionne uniquement au niveau du répertoire. Et vous avez tout à fait raison de savoir pourquoi l'utilisation d'un sous-répertoire ne fonctionnera pas - b/c de réécriture de CI, ce qui arrive APRÈS Apache a transféré le contrôle au contrôleur frontal index.php de CodeIgniter.

L'option facile, si vous travaillez sur quelque chose qui (1) n'est pas susceptible d'être piraté en premier lieu, et (2) ne peut pas révéler des données sensibles, même si c'est, est d'utiliser la sécurité via obscurité. N'ayez pas de liens vers votre site de développement, incluez une directive noindex pour les moteurs de recherche, et continuez votre chemin. Cela présente également l'avantage de pouvoir tester les versions du site avec vos collègues et amis en leur indiquant simplement l'URL à laquelle ils doivent accéder.

Si vous êtes plus préoccupé par la sécurité, vous construisez probablement un module d'authentification pour les utilisateurs de votre site Web. Dans ce cas, pour votre environnement de développement, appelez simplement ce module auth dans le constructeur pour tous vos contrôleurs et redirigez vers la page de connexion si l'utilisateur n'est pas connecté.

Bonne chance!