Securité : changement de politique sur l'accès aux fichiers

Salut @mguyard,

Pourquoi tu n’utilises pas le downloadfile plutôt?

Il suffit que tu utilises ce genre de lien comme src :

core/php/downloadFile.php?pathfile=' + _video.url

autre exemple:

<img src="core/php/downloadFile.php?pathfile='.$url.'" data-original=".jpg" class="img-responsive">

Ainsi l’accès aux fichiers est sécurisés et seul les personnes authentifiées ont accès.

Un accès directe aux images ne devraient être autorisées que pour les logos et autres images publiques, pas pour des captures ou vidéos de caméras ou de sécurités :wink:

1 « J'aime »

Moi ça me gêne pas d’ajuster le code.
Avec le downloadfile ça va pas forcer le téléchargement ? Actuellement la vidéo s’affiche dans le navigateur sans être obligé de la DL avant

Sinon faudrait que je vois avec un lecteur intégré au plugin

Ne change rien à ton interface, remplace simplement l’url que tu avais en directe sur la vidéo par l’url avec le downloadfile et le browser devrait l’afficher comme actuellement. Je suppose que tu avais une balise video ou autre?

Autrement dit, que ce soit downloadfile ou la video, le browser s’en fiche: si tu as une balise img ou video il l’affiche, si c’est une balise <a> il télécharge etc

du coup @Loic tu peux revert le changement :wink:

1 « J'aime »

Je vais tester ça merci.
Actuellement c’est une balise <à> dans une nouvelle fenêtre et il l’affiche

J’ai fais comme @Mips a proposé. Ça marche très bien.
Donc si tu préfère revert le mp4 libre à toi @Loic

Merci à vous deux

1 « J'aime »

Hello,

Je viens vers vous car je n’arrive pas a corrigé l’un des composant de mon plugin.
Nous utilisons une carte. Au depart je pensait pouvoir corrigé en mettant les JS et CSS dans le core plutôt que de faire les appel chez le créateur de la carte.

Maintenant je n’ai plus d’erreur, mais j’ai un problème la carte ne s’affiche pas, je vous join a ce post les logs dans la console du navigateur.

La je ne sait plus comment je peux faire pour régler cette erreur.

Cordialement
Thibaut

Salut,

Apparemment tu vas chercher une image sur un site externe ce qui est aussi interdit à présent.
Effectivement, il va y avoir le même problème pour tous les widgets affichant une carte avec géo-localisation

Jeedom autorise maintenant uniquement cela au niveau CSP Image :

  • ‹ self ›
  • *.jeedom.com
  • data:

Le seul moyen que je vois en l’état c’est une reception en data au lieu d’en image si le service le permet mais @Mips a raison ca va poser souci à plusieurs plugins mais c’est pour eviter le chargement de code venant d’une tierce partie.

Il serait pas possible d’avoir une option pour rajouter des source dans le plugin ?
Car moi sa va bloqué plein de petit truc a droite a gauche.

Car la sa va demander au utilisateur d’avoir une interface simple qui va devenir beaucoup plus compliqué avec des tableau a remplir plutôt que d’avoir un simple clique.

@mguyard Je ne peux pas c’est un service de carte. Donc j’ai pas le choix de ce que je veux faire a part mettre la carte dans le plugin (presque 3TO pour la France et la belgique).

Cordialement
Thibaut

Et si tu récupère la carte en PHP, la converti en base64 pour l’afficher ? Ca peu peut être fonctionner mais ca perd en dynamisme car c’est plus le JS du widget qui va l’afficher. La carte est souvent refresh ?
Je suppose que la carte affiche des coordonnées specifique non ? Donc la dimension de la carte est gérable (donc son poid aussi) non ?

Sinon le JS appelle un callback du plugin qui te renvoi le base64

La carte est zoomables, déplaçable par l’utilisateur car elle permet de set des point facilement pour de la geofence. Et même ce que tu propose est pas valide, vu que cela est géré par un JS de l’éditeur de cette carte et on ne peux passer que par lui pour acceder au data

Cordialement
Thibaut

Je connais pas le service donc dur de voir le souci dans sa globalité.
Ca te retourne quel format ton appel qui marche pas ? une webview ?

EDIT : Je crois que c’est ca que tu utilises : Static Tiles API | Help | Mapbox
Donc en effet pas je pense pas qu’il y ai de solution pour ca sans changer le CSP

Non sa charge la carte comme si tu avais Google Map ou Edge Map.
Et ce qui marche pas c’est tout le visuel de la carte

Cordialement
Thibaut

Hello @Thibaut_T,

Comme ça a été dit auparavant, tu veux afficher les données d’un autre site dans Jeedom ce qui contraire aux fondements de la politique de sécurité de Jeedom.

Dans ce cas précis, il va falloir trouver une parade car il sera toujours impossible d’afficher les données d’un site externe directement.

Bonjour
Dans ton cas pas d’autres choix que d’utiliser le mode non sécurisé.

Ajouter des sites a la volé est trop risqué car la moindre erreur c’est connexion en ssh avec du vi pour corriger autant dire que ça va refroidir beaucoup beaucoup d’utilisateurs. En plus pour être appliqué c’est un redémarrage d’apache donc toujours risqué.

La soit l’utilisateur reviens en mode non sécurisé ou alors j’annule toute mes modifications. Perso je peux tout annuler tant que je les laisse chez moi :smiley:

Là en effet, même si techniquement je ne maitrise pas du tout le sujet sécu du moment, mais je vois pas comment faire.

Après dans ce cas précis, un lien vers google map, tu clique là où tu souhaite et il t’affiche les coordonnées, que même dans jeemate tu est obligé de recopier.

Hello,

Justement je viens vers vous car je pense qu’il y a moyen de faire en sorte d’avoir la Securité ajouter a la 4.2 et l’avantage que donne Jeedom avec des plugin tiers reste facile d’accès.

Loin de moi de demander de supprimer toute tes modification, c’est un gros plus pour Jeedom. Mais je pense que moyennant un peux de temps pour développer une interface et quelque fonction il y a moyen de géré dynamiquement ce header en particulier. Cela permettrait de garder la sécurité et de pouvoir laisser une possibilité d’utiliser des lib externe sans couper toute la sécurité.

Ps : Je pense que la sécurité est important et je trouve sa super que Jeedom s’y interesse

Cordialement
Thibaut

1 « J'aime »

Bonjour,
Dans l’interface d’affichage des périphériques de mon plugin j’affiche une image extérieure :

'<img   src="https://images.tuyaeu.com/'.$path.'" />';

exemple :

si j’ai bien compris en 4.2 ça ne passe pas, il faut faire :

echo '<img src="core/php/downloadFile.php?pathfile=https://images.tuyaeu.com/'.$path.'" data-original=".png" class="img-responsive"/>'

exemple :

<img src="core/php/downloadFile.php?pathfile=https://images.tuyaeu.com/smart/icon/ay1559701439060fw6BY/84f26c9eac05c9874ef3379917c63421.png" data-original=".png" class="img-responsive"/>

mais j’ai une erreur 401: accès non autorisé

Notez que je suis en 4.1

Merci pour votre aide

Pourquoi ne pas mettre l’image dans le plugin ??

Bonjour,
Je viens de faire un test sur gsl en bêta en ajoutant un proxy php.
Leaflet dans mon cas, passe l’URL en local au proxy qui va chercher la tuile.
Le proxy fait quelques vérifications sur les urls

2 « J'aime »