Je cherche un moyen de dire à Apache que s'il y a une demande pour un fichier d'un certain répertoire, il faut d'abord exécuter un script php pour vérifier si l'utilisateur est Je sais que je pourrais mettre le répertoire en dehors du docroot et laisser un script php gérer l'authentification et les téléchargements de fichiers, mais parce que ce sont des fichiers flash qui essaient d'ouvrir d'autres fichiers flash, il doit être un répertoire dans le docroot, et les fichiers ne devraient pas être envoyés par le script php. Dans l'ancienne configuration, nous utilisions mod_auth_script (http://sourceforge.net/projects/mod-auth-script/), mais comme il s'agit d'un module apache plutôt obscur, je préférerais avoir une solution plus commune si possible.Protéger les fichiers dans le répertoire en utilisant le script d'authentification dans php/apache
Q
Protéger les fichiers dans le répertoire en utilisant le script d'authentification dans php/apache
4
A
Répondre
6
Vous pouvez utiliser .htaccess et mod_rewrite pour rediriger les requêtes vers le script PHP. Essayez quelques googles et vous trouverez beaucoup d'exemples.
exemple contenu .htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ([0-9a-z-_]+)\.swf$ checkForAuth.php?&file=$1 [L]
Ceci appellera checkForAuth.php quand quelqu'un essaiera d'accéder à un fichier * .swf. Dans checkForAuth.php vous devez vérifier votre session, lire le contenu de $ _GET ['file'], définir les en-têtes corrects (type de contenu pour flash) et sortir le contenu du fichier SWF demandé.
Questions connexes
- 1. lire le contenu d'un répertoire en utilisant le script shell
- 2. Accéder aux fichiers dans le même répertoire que le script
- 3. Protéger des fichiers dans le référentiel git
- 4. Fichiers dans le répertoire en C++
- 5. Lecture dans le répertoire, script shell Unix
- 6. rechercher des fichiers dans le répertoire en utilisant php
- 7. nettoyer les fichiers dans le répertoire linux
- 8. comment afficher les fichiers dans le répertoire
- 9. faire correspondre tous les fichiers dans le répertoire en cours
- 10. Protéger les fichiers dans le répertoire .htaccess et autoriser l'accès à un contrôleur/une action particulier
- 11. phpmyadmin - liste les fichiers dans le répertoire
- 12. linux parcourir les fichiers dans le répertoire
- 13. Comment protéger un répertoire dans asp.net MVC?
- 14. Changer le répertoire dans le répertoire d'un script Python
- 15. Copier les fichiers dans le dossier d'un répertoire en python
- 16. Tomcat Protéger les fichiers
- 17. en utilisant href dans le script jquery
- 18. Copier des fichiers dans le répertoire en fonction de l'entrée utilisateur et en utilisant * pour lister les fichiers
- 19. protéger les fichiers flash
- 20. Script PHP pour parcourir tous les fichiers dans un répertoire?
- 21. Comment protéger les fichiers téléchargeables dans un répertoire distant à partir d'utilisateurs non-premium (en php?)
- 22. Répertoire du script en cours d'exécution dans le shell Fish
- 23. en utilisant OR dans le script shell
- 24. Protéger les fichiers flash
- 25. ligne de commande linux, mot de passe protéger le fichier en utilisant le script
- 26. comment faire liste des fichiers en utilisant le script .bat
- 27. en utilisant le dernier rhino dans le script ant
- 28. Trouver tous les fichiers dans le répertoire en utilisant "FindFirstFileA" - C
- 29. Fichiers JSP dans le répertoire externe
- 30. fichier de recherche dans le répertoire en utilisant modèle complexe
bien je ne veux pas rediriger, car les fichiers flash doivent être accessibles directement. Apache devrait simplement vérifier si l'utilisateur peut accéder au répertoire (en utilisant une authentification basée sur PHP qui vérifie la session) et c'est tout. Sinon, le fichier flash de démarrage ne peut pas tirer dans les autres fichiers flash – Maarten
La redirection ne sera pas visible du côté utilisateur. L'URL restera la même mais le contenu sera donné à travers le fichier PHP qui va vérifier la session. –
ah à droite, donc les fichiers flash seront toujours demander /files/foo.swf .. est-ce trop demander un lien? – Maarten