J'ai un espace restreint sur un site Web accessible uniquement aux utilisateurs connectés. Pour cela, j'ai créé un modèle de page avec une condition 'current_user_can ()'.
Mon problème est que les documents joints aux pages à accès restreint restent accessibles à tous si vous indiquez le chemin complet dans la barre d'adresse du navigateur.
Existe-t-il un moyen de limiter l'accès aux fichiers téléchargés?
EDIT: Je tiens à préciser, les fichiers doivent être accessibles uniquement aux utilisateurs connectés.
Ce n'est pas vraiment une question WordPress - mais vous pouvez ajouter une règle de réécriture pour empêcher l'accès à moins que le référent ne soit votre propre domaine.
[Mettre à jour]
Vous aurez besoin de faire 2 choses
Ajoutez une règle de réécriture (soit directement avec .htaccess, soit en utilisant WP_rewrite (référence du Codex) . Le but ici est de refuser les demandes adressées à vos documents pour lesquels votre domaine n’est pas référencé. Cela empêche les personnes de coller le lien. dans la barre d'adresse d'un navigateur
Enveloppez vos liens de téléchargement dans un is_user_logged_in
(référence du Codex) conditionnel - ainsi, ils ne s'afficheront sur la page que si l'utilisateur est connecté
Un exemple de code est disponible dans une question connexe:
Je voudrais changer le répertoire de téléchargement pour un en dehors du dossier www. Ensuite, vous "envoyez" le fichier en utilisant une page "proxy". La page de proxy vérifie si l'utilisateur est connecté puis envoie le fichier en utilisant header ()/readfile ().
Vous pouvez utiliser la protection de liaison chaude en utilisant le serveur Web de votre choix.
Voir cette réponse StackOverflow:
https://stackoverflow.com/questions/1775582/Apache-hotlink-protection-for-download-folder .
Ceci utilise Apache2 .htaccess
En gros, vous refusez le téléchargement, si l'utilisateur ne vient pas d'une page de votre blog!
Le plug-in utilisateur enregistré uniquement cherche uniquement à s’assurer que le visiteur est connecté avant de visualiser le contenu de votre page. L'accès à vos fichiers via un navigateur est contrôlé par le serveur.
Vous devriez essayer le plugin WP AskApache Password Protect - http://wordpress.org/extend/plugins/askapache-password-protect/
Bien sûr, cela ne fonctionnera que si votre blog WordPress est hébergé sur un serveur Apache.