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

Langage PHP Discussion :

[Projet] Création d'un bon test de recrutement PHP


Sujet :

Langage PHP

  1. #21
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 467
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 467
    Points : 4 656
    Points
    4 656
    Par défaut
    personne n'est du meme avis pour un simple exit...
    va falloir revoir les questions

  2. #22
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    C'est pourquoi un qcm sans contexte ou explications des réponses du postulant ne me semble pas terrible
    Idem, pour la question "Quelle est la meilleure fonction PHP à appliquer aux paramètres reçus (en GET ou POST) pour protéger une application contre les attaques XSS ?", 3 des réponses proposées me semblent valides.

  3. #23
    Invité
    Invité(e)
    Par défaut
    J'ai testé mon questionnaire sur 2 personnes ce matin (en rajoutant un petit bout de code à corriger), et en demandant une petite phrase justificative pour chaque réponse de QCM. ça s'est révélé assez concluant : l'un (bon mais inexpérimenté) n'a pas su répondre grand chose, alors que l'autre (assez expérimenté) a fait les bons choix et les a bien argumentés, et le résultat est donc assez représentatif de ce que je peux demander à ces personnes en PHP.

    La méthode est perfectible et je souhaite laisser ce sujet ouvert pour continuer à en débattre, mais je pense être sur la bonne piste . Le but étant de faire de ce topic une sorte de catalogue de questions

    @Doksuri : pour la question de l'exit, je suis certain d'avoir raison, ceux qui prétendent le contraire manquent d'expérience

    @Djakisback : la solution la plus efficiente (efficacité contre XSS tout en conservant l'essentiel des contenus reçus / coût) est clairement le htmlspecialchars(ENT_QUOTE). Il y en a d'autres qui fonctionnent, mais soit elles altèrent les contenus reçus, soit elles sont moins performantes, soit les 2. Je tiens l'information d'experts en sécurité intervenus dans le cadre d'un audit dans une société dans laquelle je travaillais.

  4. #24
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    je pense aussi que faire la difference entre les diifferents modificateurs et à quel moment les utilisées est un bon moyen de pouvoir évaluer le niveau de compétence d'un développeur en général et d'un dev php en particulier
    - public
    - private
    - static
    - protected
    - abstract ...

    de même que les concepts lier a l'orienté objet comme l'héritage(multiple ou non ), l'encapsulation...

  5. #25
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Les QCM si bien utilisé ne sont pas forcément mauvais, par contre il faut que les questions soient très précises.

    Par exemple :

    Un exit() est nécessaire après une redirection en header('Location:...') :
    a. Vrai
    b. Faux
    J'aurais plutôt posé la question comme ceci : Du code continue t'il de s'éxecuter après un header("Location:") C'est moins tendancieux.

    Quel est le meilleur moyen de stocker des chemins d’accès (vers une bibliothèque, un dossier d'upload, etc.) ?
    a. Des variables super-globales ($GLOBALS)
    b. Des constantes
    c. Des variables simples, passées uniquement aux fonctions qui en ont besoin
    Là j'aurais envie de dire ni l'une ni l'autre. Je te répondrais que je met ce genre de chose dans un fichier de config qui généralement est accessible depuis un Registre. Encore une fois la question est sans doute un peux trop évasive , ou alors il manque une réponse "autre"

    Quelle est la meilleure fonction PHP à appliquer aux paramètres reçus (en GET ou POST) pour protéger une application contre les attaques XSS ?
    a. strip_tags
    b. addslashes
    c. htmlspecialchars
    d. htmlentites
    Des remarques ont déjà été fait sur celle-çi. On ne connait pas le contexte. A quoi sont vouées ces variables. Bref là je me sens en difficulté alors que dans un cas concret je saurais faire.
    Cette question serais à mon sens plus simple avec un extrait de code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom = $_POST['nom_user']
    echo $nom;
    Le code suivant est il sécurisé ?
    a. Oui
    b. Non

    Quelles améliorations pourraient être apportées (performance , sécurité ...)
    a. Aucune
    b. .....

  6. #26
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Citation Envoyé par David Guillot Voir le message
    Pas d'accord. Comment peux-tu être sûr qu'un autre développeur ne va pas rajouter du code sans vérifier ou en ne pouvant que difficilement vérifier que toi tu as fait une redirection avant ? Toujours blinder son code en prévision des conneries des autres
    Toujours pas d'accord. Si un de tes développeurs rajoute du code après c'est une erreur de sa part qu'il faudra réparer. Si tu as ajouté un exit, tu auras du code mort. C'est loin d'être propre.

    Citation Envoyé par David Guillot Voir le message
    @Doksuri : pour la question de l'exit, je suis certain d'avoir raison, ceux qui prétendent le contraire manquent d'expérience
    Je te trouve bien présomptueux

    Je reste dubitatif face à des questions qui ont tendance à déclarer des méthodes inéluctables sans se préoccuper du contexte. L'informatique est loin d'être si rigide.

    @grunk : tout à fait d'accord

Discussions similaires

  1. [Débutant] Projet [Création site internet] besoin d'AIDE (Modérateur : a deplacer si je suis pas au bon endroit)
    Par adrenaline75 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 09/01/2014, 11h51
  2. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  3. [Projet] Création d'un cms
    Par Legenyes dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 28/02/2006, 16h42
  4. [Projet] création d'un cms
    Par Legenyes dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/02/2006, 16h16

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