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

POO et sécurité

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Fire_Storm
Fire_Storm
Niveau 10
05 août 2012 à 12:41:49

Salut à tous.

Toujours dans mon apprentissage de la POO couplé à MVC, concept qui commence à me plaire de plus en plus (car au moins c'est structuré ^^), j'aborde le thème de la sécurité du code.

Une question qui me taquine par exemple; dans le dernier projet à chaque affichage de titre, message ou autre il fallait que j'utilise htmlspecialchars à chaque fois (normal hein je ne critique pas ce fait xD), bref un peu redondant donc (et comme vous savez, le développeur et la redondance... :d). N'est t-il pas possible par exemple de sécuriser ça directement dans le getter, donc par exemple au lieu:

getTitle()
{
return $this->title;
}

avoir ceci:

getTitle()
{
return htmlspecialchars($this->title);
}

Le seul soucis (qui n'est pas un soucis en soi car je connais la solution, simplement je trouve pas ça propre) c'est que les getters sont utilisés notamment dans les managers pour récupérer les variables AVANT d'insérer dans la base de données, donc la variable est sécurisée avant son insertion (or comme tout bon développeur devrait le savoir, *a le regard tourné vers le SDZ*, htmlspecialchars est une fonction qui doit être appliquée à l'AFFICHAGE, et non à l'insertion de la base de données). Un html_entity_decode réglerai le soucis dans le manager mais voilà je trouve ça un peu moche. xD

Donc aux utilisateurs de Symfony (enfin comme dit c'est le code maison du site du zéro, oui je sais pas bien mais il n'a rien inventé du tout le gars, c'est un concept bien connu apparemment) ou autre code se basant sur ce concept là, au niveau de la sécurité comment ça se passe chez vous ?

deepblue
deepblue
Niveau 16
05 août 2012 à 12:48:43

Si tu utilises ton model dans une console, tu vas apprécier d'avoir une chaine htmlspecialcharsisée ? Non :-)

C'est le taf de la vue de faire ça.

deepblue
deepblue
Niveau 16
05 août 2012 à 12:50:22

Note : ça peut-être aussi le taf de ton moteur entre le controleur et la vue. Sur symfony 1, c'était le OutputEscaper qui traitait cette problématique (et je préfère le faire moi-même).

Fire_Storm
Fire_Storm
Niveau 10
05 août 2012 à 13:05:41

Ok donc tout ça doit se faire dans la vue c'est bien ça ? Ni dans le modèle, ni dans le contrôleur.

deepblue
deepblue
Niveau 16
05 août 2012 à 13:18:03

oui

Fire_Storm
Fire_Storm
Niveau 10
05 août 2012 à 13:19:53

Ben tant pis ça sera un peu redondant, mais c'est clair qu'au moins ça sera tout propre ! :P

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