Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modification des valeur d'une fonction JS en HTML

Sujet résolu
    18 juin 2019 à 10:52:36

    Bon je ne savait pas trop quoi mettre en titre mais bon

    Je suis en train de créer un petit site et j'en ai profité pour mettre des fonction javascript, histoire que ce soit un peu plus dynamique et arrêter de recharger des pages à chaque clic sur un bouton.

    Dans la disposition de mons script HTML j'appelle une fonction avec l'attribut Onclick d'un bouton

    Onclick="activer_saisie(<?php echo $acces; ?>);"

    La variable $acces est écrite en php lors de la construction du formulaire html, une fois le formulaire envoyé à l'utilisateur, à la place de $acces il y aura soit 1 soit 0.

    Dans la fonction activer_saisie je fais des verif de la variable $acces et si c'est à 0 ça dit "nan t'as pas le droit" et si c'est 1 et bien ça fait des trucs.

    Tout marche bien mais du coup, vu que la fonction est appelé avec un boutton HTML, l'utilisateur peut faire F12, aller voir comment est codé le bouton et si il veux, il peut changer le 0 en 1. Et du coup il nique complètement ma pauvre petite sécurité XD.

    Du coup comment je peux activer une fonction JavaScript sans que l'utilisateur ne puisse modifier les valeurs qui servent à vérifier si l'utilisateur a bien le droit d'activer ou non la fonction ?

    Merci pour vos réponse ^^

    • Partager sur Facebook
    • Partager sur Twitter
      18 juin 2019 à 11:20:31

      Bonjour,

      L'utilisateur auras toujours accès à ton code js, tu ne peux rien y faire, sinon le navigateur ne serais pas capable d'exécuter ton script.

      Il faut que ce soit ton serveur qui envoie l’autorisation : lorsque l'utilisateur click, tu fais un call ajax ( https://developer.mozilla.org/fr/docs/Web/Guide/AJAX/Premiers_pas ) vers ton serveur et du coup il te renvoie la réponse. Au niveau contenu de la réponse, un booléen c'est un peu léger, tu pourrais rajouter un hash généré aléatoirement qui te donnerais accès à certaines pages (tu rajoute le hash dans les requêtes, dans un header par exemple, et côté serveur si tu n'as pas ce hash, tu renvoie un 403). Si tu veux encore mieux, regarde du côté des jwt ( https://jwt.io/ ), même principe mais en mieux.

      • Partager sur Facebook
      • Partager sur Twitter
        18 juin 2019 à 11:42:49

        Ah ouais du coup je suis obligé de demander l'autorisation côté serveur pour pouvoir avoir une autorisation qui soit correcte...

        Je vais voir si je peux le faire avec AJAX vu que j'ai déjà fait des fonctions avec. Je devrais pas avoir de soucis

        Merci pour ta réponse piero5673 ^^

        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2019 à 12:08:44

          Salut,

          tu peut gérer coté client les permissions pour l'affichage, si un user modifie, ce n'est pas grave, tu ne peut rien faire pour l'empêcher. Les requêtes ajax ne passeront pas coté backend car il n'aura pas la permission, même si la page/ fonctionnalité s'active.

          • Partager sur Facebook
          • Partager sur Twitter

          Modification des valeur d'une fonction JS en HTML

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown