CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Ajax et sécurité

Pseudo supprimé
Pseudo supprimé 29 décembre 2014 à 19:45:21

Salut,
j'essaye pour m'exercer avec l'Ajax de faire un système de favoris: une liste de films avec pour chacun un bouton en forme de coeur pour mettre le film en favoris.
Pour cela j'utilise sur chaque <li> de ma liste de film un attribut html5 data-id=[id_du_film], que je récupère avec jQuery , et j'insère cet identifiant dans la base de données avec une requête en ajax dans une table favoris.
Mais l'utilisateur peut facilement bidouiller l'attribut data-id d'un film, avec Firebug par exemple.
C'est possible de détecter que l'attribut a été bidouillé, ou ne correspond pas a l'élément sur lequel on a cliqué?

Popovitch
Popovitch
Niveau 26
29 décembre 2014 à 20:51:01

Je pense pas que ce soit possible de vérifier si l'utilisateur a modifié le code HTML... :non:

Pour ton exemple : si l'utilisateur modifie l'id c'est sa merde, il aura un film quelconque en plus en favori ou il aura une erreur que tu lui auras envoyer parce qu'il ne peux pas avoir ce film en favori (film déjà en favori, film inexistant, ...) :ok:

james-bond-0001
james-bond-0001
Niveau 6
29 décembre 2014 à 22:36:02

je suis novice avec l'Ajax mais dans la page qui contrôle l'ajout du favoris dans la base de données je ferai un contrôle de la variable de la page REFERER du client et si elle correspond à l'id qui est mis en favoris :cool:

Caletlog
Caletlog
Niveau 10
29 décembre 2014 à 23:38:22

Le référant ne serait utile que dans le cas où la page d'origine ne contient que le film demandé, ce qui réduit à néant les avantages de l'Ajax pour le problème initial.
Et le référant, ça se modifie aussi, c'est pas plus fixe qu'un useragent.

Non, pour l'auteur, il n'y a pas de moyen de vérifier comme ça. Tu trouveras toujours des bidouilles (le premier truc débile qui me vient en tête c'est calculer la position du scroll pour déterminer si l'utilisateur a dans son champ de vision l'élément qu'il favorise, mais c'est, là encore, modifiable côté client (et stupide)), mais ça sera jamais correct.
Dans l'exemple que tu donnes, on a envie de dire "on s'en fout". S'il l'utilisateur veut mettre en favoris le film 5 en cliquant sur le film 32, c'est son problème et ça n'affecte pas l'intégrité du système.
Si, par contre, ta situation réelle est plus complexe, il faut toujours vérifier les données envoyées côté serveur, tout comme tu le ferais avec n'importe quelle soumission par formulaire (puisqu'une requête Ajax, c'est plus ou moins la même chose, la différence c'est juste pour l'expérience utilisateur).

CapitainePecho
CapitainePecho
Niveau 8
02 janvier 2015 à 02:19:15

Vérifie côté serveur que l'ID est bien l'ID d'un film

Après si le mec veut s'amuser a bidouiller pour mettre en favori dans son compte Titanic plutôt que Transformers y'a pas de pb niveau sécurité..

bibibi60
bibibi60
Niveau 10
06 janvier 2015 à 08:55:12

Il ne faut JAMAIS, au grand JAMAIS, faire confiance à l'utilisateur. L'utilisateur cherche toujours à mal, l'utilisateur fait toujours des bêtises, et l'utilisateur se gourre tout le temps. Faut vraiment partir du principe que toutes les vérifications sont faites côté serveur. Tu peux en rajouter côté client pour l'ergonomie, mais pour la sécurité c'est côté SERVEUR, toujours. Aucune technologie côté client n'est fiable, aucune n'est infaillible. Ne serait-ce que parce qu'on peut t'envoyer des requêtes d'ailleurs qu'un navigateur, via ligne de commande par exemple (ou toute librairie de requête type Faraday en Ruby).

deepblue
deepblue
Niveau 16
06 janvier 2015 à 10:50:21

Tu peux stocker la liste des id des films affichés dans une session (ou tout autre système non modifiable coté client) vérifier que le choix de l’utilisateur (dans la requête ajax) correspond à un des éléments de cette liste.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment