IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Accès fichier js et CSP


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Accès fichier js et CSP
    Bonjour a tous,

    J'essaie de faire une app en electron js, mais je suis bloqué pour accéder a mon fichier javascript à cause de CSP.

    voici le message d'erreur :
    Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. Note that hashes do not apply to event handlers, style attributes and javascript: navigations unless the 'unsafe-hashes' keyword is present.
    et voici mon
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    [...]
        <div>
            <label><input type="checkbox" name="check" value="1" onclick="onlyOne(this)">Default parameters</label>
            <label><input type="checkbox" name="check" value="2" onclick="onlyOne(this)">Change parameters</label>
        </div>

    mon js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function onlyOne(checkbox) {
        var checkboxes = document.getElementsByName('check')
        checkboxes.forEach((item) => {
            if (item !== checkbox) item.checked = false
        })
    }
    Je n'arrive pas a autoriser la lecture de mon fichier js sans retirer ma balise Content Security Policy et donc perdre en sécurité.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tu ne nous montres pas comment tu appelles le fichier js ...

    jette un oeil là dessus
    https://content-security-policy.com/script-src/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre régulier
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut
    j'ai déjà essayé plusieurs solutions via ce site mais ç’a n'a pas marché

    chemin du fichier = "../js/recon.js"

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    En théorie:
    <!-- allowed by 'self' -->
    <script src="/js/some-file.js"></script>
    dans la pratique, tu ne nous montres pas l'intégralité du code de mise en oeuvre ...


    Un peu plus de lecture sur le sujet
    https://developer.mozilla.org/fr/docs/Web/HTTP/CSP
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre expérimenté
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 146
    Par défaut
    \ô/
    il me semble qu'un événement déclaré inline, comme
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <label><input type="checkbox" name="check" value="1" onclick="onlyOne(this)">
    n'est pas pris en compte , il faut passer par des addEventListener.

  6. #6
    Membre régulier
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut
    Je pense avoir trouvé la bonne solution grâce a nonce :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
        <link rel="stylesheet" href="../css/index.css" type="text/css">
        <link rel="stylesheet" href="../css/recon.css" type="text/css">
        <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'nonce-rCkDzsvsdcsd+0fr8ylGr' 'self' ">
        <title>Allin</title>
      </head>
      <body>
        <header>
        <div>
          <label><input type="checkbox" id="check1" value="1">Default parameters</label>
          <label><input type="checkbox" id="check2" value="2" >Change parameters</label>
          <input type="text" class="css-input" placeholder="   Enter domain name"/>
        </div>
      </body>
      <script nonce="rCkDzsvsdcsd+0fr8ylGr" src="../js/recon.js"></script>
    </html>

    J'aimerais juste savoir si c'est bon niveau sécurité pour vous ? comme çà je pourrais mettre en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Accès fichiers Internet
    Par joujou_le_fou dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/08/2004, 12h49
  2. [tomcat]acces fichier dans contexte
    Par krollette dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/01/2004, 14h17
  3. pb service NT / accès fichier
    Par gord's dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2003, 17h20
  4. [Kylix] accés fichiers
    Par sdoura dans le forum EDI
    Réponses: 4
    Dernier message: 08/10/2002, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo