comment interdire l’accés à certains fichiers aux personnes non connectés (Créer un compte)

  • WordPress :5.8
  • Statut : non résolu
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #2403420
    nicobzz
    Participant
    Initié WordPress
    49 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : php 7.4
    • Thème utilisé : _s
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour, je cherche une personne qui saurait comment résoudre ce genre de problème. J’ai commencé à créer une solution mais elle ne marche pas sur chrome, pourtant elle marche sur firefox.

    C’est un bidouillage un peu complexe que j’ai fait mais que sur firefox, voici ce bidouillage:
    Pour ces fichiers .mp4 dont je veux empêcher l’accès aux membres non inscrit et non abonnés, je met un .htacces pour qu’on ne puisse pas le download comme ça.
    A partir de là j’ai créé un point admin-ajax qui par l’appelle:

    http://mon-site/wp-admin/admin-ajax.php?action=read_mp4_file&mp4_file=2022/05/video-finale-deuxieme-partie.mp4

    permet de télécharger le fichier, ce code ajax reconnaît vérifie que l’utilisateur a payé, et reconnait les champs http Accept-ranges et Content-Ranges qui permettent de demander qu’une sous partie d’un fichier et renvoie la partie correspondante (j’ai besoin de ça car ce sont des fichiers mp4 qui doivent être lus par le lecteur vidéo de chrome).

    Tout à l’air d’être bien fait, mais ça marche pas sous chrome et peut être pas non plus sur edge, mais je n’ai pas essayé edge.

    Voila, ma question est auriez vous un moyen (peut être différent du mien) de faire ceci: permettre le téléchargement de certains fichiers que par les utilisateurs connecté et abonnés?
    Merci

    #2403425
    mathieu42
    Participant
    Maître WordPress
    1989 contributions

    à quel endroit ça ne fonctionne pas ? dans votre code ? lors du transfert ? à la lecture dans le navigateur ?

    #2403427
    Lumiere de Lune
    Participant
    Maître WordPress
    20533 contributions

    Ce genre de « bidouillage » c’est une extension de type « members »
    Avez vous testé sous Firefox en désactivant javascript ?

    #2403503
    nicobzz
    Participant
    Initié WordPress
    49 contributions

    Mathieu42: c’est lors de la lecture par le navigateur, j’ai testé avec des commandes linux, le fichiers se transfert bien avec le bon contenu mais à la différence des donnée du protocol TCP, et pourtant chrome n’arrive pas à le lire.

    Lumière de lune: merci pour ta réponse, tu m’as déjà apporté des réponses précieuses. tu veux dire qu’il existe des extension qui font ça?
    Je crois que tu voulais dire chrome? je vais essayé en désactivant javascript de chrome.

    #2403519
    Lumiere de Lune
    Participant
    Maître WordPress
    20533 contributions

    Bonjour,

     

    oui plein d’extensions.

    Et non, je voulais bien dire Firefox, puisque tu penses que ta solution fonctionne sous Firefox, vérifie que c’est bien le cas en désactivant javascript

    #2403569
    nicobzz
    Participant
    Initié WordPress
    49 contributions

    je comprend pas pourquoi tu veux que je désactive le javascript, car je comprend pas pourquoi ça ne marcherai plus sans javascript. Mais je viens de le faire et ça marche.

    En fait, ça marche que pour lire la vidéo depuis le début de la vidéo. Mais pour aller au milieu de la vidéo ça marche pas, pourtant j’ai pris en compte les champs http: Accept-ranges et Content-Ranges. Mais il doit y avoir autre chose à prendre en compte que je ne connais pas ou je prend mal en compte ces valeurs.

    J’aurai voulu faire le code moi même, mais je vais regarder quand même pour des extensions members qui font ça, voir si je peux faire bien avec.
    Est ce que tu connais de telles extensions?

    #2403707
    Li-An
    Participant
    Maître WordPress
    27919 contributions
    #2403716
    Lumiere de Lune
    Participant
    Maître WordPress
    20533 contributions

    Pourquoi ?

    Parce que ça :

    AJAX (Asynchronous JavaScript + XML) n’est pas une technologie en soi, mais un terme désignant une « nouvelle » approche utilisant un ensemble de technologies existantes, dont : HTML ou XHTML, CSS, JavaScript, DOM, XML, XSLT, et surtout l’objet XMLHttpRequest

    Donc qui dit Ajax dit Javascript.

    • Cette réponse a été modifiée le il y a 1 année et 4 mois par Lumiere de Lune.
    #2403781
    nicobzz
    Participant
    Initié WordPress
    49 contributions

    Merci Li-an. je viens d’y jeter un coup d’oeil, oui ça a l’air de faire l’affaire, il est tard et je regarde demain. Merci bcp

    oui Lumière de lune, je comprends ce que tu veux dire.
    En fait j’ai créé une action admin-ajax dans worpress dans functions.php, mais l’appelle à cette page ne se fait pas par une requete XMLHttpRequest mais par le lecteur vidéo de chrome qui charge la vidéo de cette adresse.

    Merci en tout cas

     

    • Cette réponse a été modifiée le il y a 1 année et 4 mois par nicobzz.
9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.