Aller au contenu
Support de Zwii
Fred

Comment ajouter des scripts JS dans le gestionnaire de fichiers (extrait d'un fil existant)

Messages recommandés

Bonsoir,

 

J'ai testé favicon-switcher sans pouvoir activer le mode sombre qui va bien sur Firefox pour faire un test, il faut peut-être que celui-ci soit activé au niveau de l'OS.

Pour une installation de test, c'est très simple, il suffit d'éditer core.php et de modifier la fonction showfavicon avec le script fourni en exemple :

    <link rel="icon" media="(prefers-color-scheme:dark)" href="favicon-dark.png" type="image/png" />
    <link rel="icon" media="(prefers-color-scheme:light)" href="favicon-light.png" type="image/png" />
    <script src="https://unpkg.com/favicon-switcher@1.2.0/dist/index.js" crossorigin="anonymous" type="application/javascript"></script>

 

Evidemment, il faut créer deux images avec les noms et formats corrects.

 

Si vous arrivez à le faire fonctionner, je ferai un intégration avec une modification du l'écran config pour le choix de la seconde favicon.

 

@roger, tu devrais retester la méta image, elle est bien générée. En ce qui concerne le JS dans RFM, il est traité comme un fichier éditable selon config.php c'est sûrement pourquoi l'extension est renommée. Ensuite si tu veux le charger, proprement, il existe le dossier vendor qui permet cela, regarde vendor/imagemap pour voir comment ça marche (et la variable $output de core.php)

 

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 31/12/2019 à 16:19, roger a dit :

Sans compter ceux qui veulent simplement héberger sur leur espace un fichier js, pour ensuite le mettre en fonction comme je l'avais prévu pour qu'il interagisse avec le zwii se retrouve alors avec un script en .js inexploitable car importé par le RFM dans le dossier /file/source/ avec cette extension .txt

 

 

Un javascript peut très bien être inclut dans un fichier texte avec une extension .txt

Fais le test suivant avec 2 fichiers :

test.html contenant ceci :

<script src="test.txt"></script>

et test.txt contenant cela :

alert('test de script dans un fichier texte');

Affiche le fichier test.html dans ton navigateur pour constater le résultat, tu verras que contrairement à ce que tu dis, le javascript s’exécute

Partager ce message


Lien à poster
Partager sur d’autres sites

Il existe des solutions assez faciles à découvrir :

 

L'origine du problème : upload.php assigne une extension selon le type mime et ne conserve pas l'extension d'origine, donc problème. En fait pas vraiment puisque en théorie, il n'est pas recommandé d'héberger du code que ce soit du js ou du php dans RFM.

 

Première chose à faire autoriser RFM à afficher les types js, on édite config.php on recherche le tableau 

'ext_file'

et on ajouter 'js' à la fin :

, 'cgm', 'tiff','js',''), //Files

 

On recharge en vidant le cache et désormais RFM autorise l'affichage des JS

 

Ensuite pour tromper l'upload on peut utiliser trois moyens :

  • on zippe le js on l'upload et on le dézippe dans RFM.
  • dans RFM, on clique sur nouveau fichier, on nomme le fichier avec la bonne extension et on édite ou on copie colle le js :
    image.png.dea07da0d451fbabe5156ad3bf2caed4.png
    image.png.2edcb6d4cbc03249665ab5a6b2d0d736.png
  • dernière possibilité, on l'envoie par ftp.

J'extrais les messages relatives à cette question dans un fil dédié.

 

 

 

 

 

 

 

 

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 19 heures, Fred a dit :

en théorie, il n'est pas recommandé d'héberger du code que ce soit du js ou du php dans RFM.

 

Première chose à faire autoriser RFM à afficher les types js, on édite config.php on recherche le tableau 

'ext_file'

et on ajouter 'js' à la fin :

, 'cgm', 'tiff','js',''), //Files

 

On recharge en vidant le cache et désormais RFM autorise l'affichage des JS

 

Si le script présente une faille, celle-ci peut facilement être exploitée dès lors qu'on connait le nom du fichier, car il est alors aisé de déduire son adresse, c'est ainsi que les hackers procèdent pour attaquer des sites

 

Il est prudent de placer les fichiers exécutables ailleurs que dans site/file/source et par conséquent de les uploader via FTP, le fichier sera ainsi moins facile à localiser

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, roger a dit :

💡 Pour info, un simple code source sur la page d’accueil d'un zwii te donnera l'endroit où pratiquement tout les scripts sont hébergés, et pourtant ceux ne se trouve pas stockés dans le dossier /site/file/source/ et contredit donc la seconde recommandation que tu fais vu que c'est trouvable le plus facilement du monde l'endroit où est stocké un fichier exécutable

Tu ergotes inutilement, les consignes qui sont rappelées par @Gilux sont précisées dans le config.php de RFM. 

 

Il y a 4 heures, roger a dit :

Pour info, un simple code source sur la page d’accueil d'un zwii te donnera l'endroit où pratiquement tout les scripts sont hébergés, et pourtant ceux ne se trouve pas stockés dans le dossier /site/file/source/ et contredit donc la seconde recommandation que tu fais vu que c'est trouvable le plus facilement du monde l'endroit où est stocké un fichier exécutable

Je voudrais bien le voir tourner ce script d'autant qu'il faut être connecté pour l'insérer. Et puis franchement, ce n'est pas la peine de se décarcasser, les chemins sont indiqués dans le code source du github.

 

Je verrouille le sujet.

  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

  • Contenu similaire

    • Par Fred
      Installation :
       
      Comme pour une version standard, recopiez le contenu de l'archive.
       
      Mise à jour  d'une version 9 :
       
      Effectuez une copie de sauvegarde du dossier site/
      Copiez le contenu de l'archive sauf le dossier site/
      Les données sont mises à jour et les anciens fichiers de données dans site/data/ renommés en imported_
       
      Mise à jour  d'une version 8 :
       
      Version non prise en charge, installez une version 9, puis effectuez la mise à jour comme indiqué ci-dessus
       
      Fonctions à découvrir :
       
      Multilinguisme,
      L'interface utilisateur peut être traduite dans une langue étrangère. L'administration n'est pas traduite, fonctionnalité à venir. Il est possible d'ajouter de nouvelles langues, cf tutoriel à venir. Une traduction automatique optionnelle peut-être effectuée par Google Translate (fonctionnalité à confirmer en attente d'une coupure éventuelle des clés d'API le 5/12/19). La sélection de la langue s'effectue : automatiquement : un allemand aura un site en allemand si vous proposez une traduction. en cliquant sur le drapeau dans la barre de menu. Gestion des données ,
      Sécurité des données, ZwiiCMS est plus résistant aux erreurs d'écriture, les données sont lues et écrites à la demande et à la volée. ZwiiCMS est bien plus performante que dans la version 9, quelque soit le volume du site, les temps de réponse sont instantanés (selon la charge réseau). ZwiiCMS fonctionne désormais derrière un proxy. ZwiiCMS a la capacité de récupérer une sauvegarde et de transposer les URLs des ressources ce qui facilite la migration d'une arborescence à une autre. Modifications esthétiques,
      Le titre du site peut être affiché en mode petit écran. Écran Configuration remanié, Nouvel écran de gestion des sauvegardes. Lors de l'import d'une version  sauvegardée, une option permet de conserver la base des utilisateurs.  
       
      Afin de vous assurer de disposer de la toute dernière version, merci de télécharger l'archive directement sur l'outil de gestion de version :
       
      Github branche v10
       
       
       
       
    • Par Fred
      Bonjour,
       
      Il s'agit de l'ex-version 10 sans la gestion multi-langues qui s’installera, sur une v9 (et non une v8) ou un dossier vierge.
       
      Cette version stocke toujours les données dans des fichiers json, mais elle a la particularité de fonctionner comme une base de données. Alors que le Zwii de la v9 lisait et écrivait toutes les données en une fois ; même celles inutiles ; cette v10 n'accède qu'aux données nécessaires.
       
      Il en résulte un temps de traitement accéléré qui sera surtout visible pour les gros sites. De même, elle fonctionnera sans problème de ralentissement derrière un proxy web.
       
      Le script core.php est allégé, les classes templates et helper qui sont  indispensables au fonctionnement de Zwii sont chargées dans core/class
       
      On y trouve également les classes : mailer, sitemap et jsondb.
       

       
       
      Il n'y aura pas d'autres améliorations ou ajouts de fonctionnalités avant sa sortie, je laisse passer la période des fêtes pour la publication.
       
      L'archive ci-dessous est estampillée 10.0.013, le git est susceptible de disposer d'une version légèrement plus récente sous ce lien.
       
      A priori cette version est utilisable en production (après copie de sauvegarde).
       
       
       
       
       
       
       
       
       
      ZwiiCMS-beta-v10.119.zip
×
×
  • Créer...