Question

J'ai développé une sorte de serveur Explorer en tant que module pour notre application web, et il fonctionne en fait une grande. Je fais quelques améliorations à et il y a un problème, je ne sais pas vraiment comment aborder.

L'explorateur est principalement utilisé pour choisir des images à partir d'un dossier spécifié et les sous-dossiers. Comme certaines écoles sont concernées par la distribution des photos à l'extérieur de leur établissement, nous leur avons donné une option pour sécuriser leurs photos avec .htaccess (en fait sur le Web Interface qui à son tour définit le .htaccess) si elles veulent.

Quand je tente d'accéder à un dossier qui est protégé par .htaccess, je suis invité un mot de passe pour chaque image dans ce dossier. Il est intéressant de noter que les enseignants ont tendance à faire 100+ images sur chaque événement majeur et aiment fourrer dans un seul dossier, il est donc en fait pas rare que le navigateur ouvre 100+ boîtes de dialogue.

Nous courons Perl dans le back-end donc je pensais que je pouvais vérifier si un dossier donné est protégé ou non avant de livrer le contenu à jQuery. Le problème est, les images peuvent également être protégées par un .htaccess d'un dossier parent.

est-il un moyen sûr de vérifier si un étranger peut accéder à ces images (ou fichiers, pour le générique et ouvert pour d'autres usages) avant de donner les images?

EDIT - fichier .htaccess Ajouté
     ## OLEFA AUTH DÉBUT ##
     AuthType Basic
     AuthName "192.168.1.120/resources/images/accesstest"
     AuthUserFile /home/mike/workspace/olefa//resources/images/accesstest/.htpasswd
     exiger
valide utilisateur      ## OLEFA AUTH FIN ##

Était-ce utile?

La solution

Une option que vous pouvez explorer est stocker un fichier d'espace réservé non-image dans chaque répertoire et récupérer avant les images. Si vous ne parvenez pas à le récupérer, vous ne faites pas l'attraction de l'image et l'interpréter comme signifiant le répertoire est sécurisé contre cet utilisateur. De cette façon, vous obtenez seulement une boîte de dialogue de mot de passe unique popping, et si elles ont un nom d'utilisateur et mot de passe valide, le navigateur se souviendra pour les récupérations d'image.

Autres conseils

On dirait que vous pourriez couche sur couche construction de fixer ce code pour une conception déficiente ou d'un processus.

Si vous obtenez la boîte de dialogue nom d'utilisateur-mot de passe pour chaque image du même répertoire, je pense d'abord:

  1. htaccess est en quelque sorte une erreur de configuration. Pouvez-vous nous montrer ce que vous avez?
  2. L'agent utilisateur n'envoie pas l'en-tête d'autorisation. Regardez les requêtes HTTP pour vérifier que vous voyez un en-tête d'autorisation. Regardez aussi l'état de la réponse. Est-il 401 ou 403?

Si vous essayez d'accéder à des ressources à des chemins différents, vous utilisez un autre domaine pour chaque dossier? Les pouvoirs ne concernent que le domaine qui a présenté le défi. Si vous accédez à un autre domaine et vous devez recommencer. Comment allez-vous indiquez que dans votre htaccess?

D'autres choses qui pourraient nous aider:

  • Quel type d'authentification que vous utilisez? Basic, Digest, autre chose?
  • Utilisez-vous un gestionnaire d'autorisation personnalisée?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top