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 :

Besoin de renseignement sur la sécurité d'une application web très simple


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Besoin de renseignement sur la sécurité d'une application web très simple
    Bonjour tout le monde,

    Je suis en train de développer une petite application très simple.

    Elle est composé comme ceci :

    - static
    --- css
    ----- reset.css
    ----- main.css
    --- js
    ----- main.js
    - vendor
    - functions.php
    - index.php

    Il s'agit d'une simple page contenant du texte et un formulaire avec unique champ texte qui permet de rentrer un code de suivi de colis.
    Une fois le formulaire soumis, je traite les informations sur cette même page en nettoyant le code de suivi entré par l'utilisateur avec htmlspecialchars.
    Je fais un appel à l'API de suivis de colis en PHP (grâce a une librairie présente dans le dossier vendor) puis j'affiche le résultat sur la page.
    Le fichier functions.php contient uniquement une fonction qui retourne un tableau de traduction pour chaque étape du suivis de colis, l'API de suivis de colis étant en anglais et désirant une lecture en français. ("en préparation, expédié, entrant dans le centre de tri etc.")

    Je suis assez mauvais en sécurité car la plupart du temps j'utilise des framework ou CMS comme Wordpress, où il y a des fonctions pour la sécurité et un cadre de travail déjà bien sécurisé.

    Pensez-vous que je doit faire des choses particulières pour sécuriser cette application ? Je ne vois rien de sensible dans ce que j'ai fais, étant donné qu'il n'y a pas de base de donné, pas de cookie, pas de session. Simplement un formulaire en GET et avec un petit traitement derrière.
    Dois-je ajouter un .htaccess pour ne pas autoriser la lecture direct de mon functions.php et de mes dossiers static et vendor ? Ce site sera hébergé sur un serveur avec Plesk et j'ai l'impression que de base c'est configuré pour ne pas autoriser l'accès au dossier et fichiers directement, ou alors je dis n'importe quoi ...

    On m'a tellement rabâcher de chose sur la sécurité que je ne suis plus sur de rien et un peu parano, si vous pouviez m'éclairer ce sera vraiment super

    Bel après-midi à tous !

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Si j'ai bien compris tu envoies une variable et en retour tu récupère un index qui correspond à un élément de tableau pré enregistré que tu fais afficher. Si c'est bien le principe, c'est inattaquable.

    Après au niveau de la protection des fichiers sur le serveur, c'est pas spécifique à l'API. Utilises les autorisations des fichiers du serveur (accessible via ton client FTP, filezilla etc) si tu veux les protéger plus finement, ou éventuellement un .htaccess si c'est possible.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Je peux tout à fait mettre un htaccess mais je ne sais quoi mettre dedans. Par exemple si je veux interdire l'accès au fonction.php ? (Apparement mon serveur de production interdit bien l'accès aux dossiers directement).

    EDIT: J'ai mis :

    define('MAIN_INCLUDED', 1); dans index.php

    et cette vérification la :

    if(!defined('MAIN_INCLUDED'))
    exit(1);

    dans le functions.php.

    Ca me semble suffire.

    Mais que faire pour le dossier Vendor ou je n'ai pas la main sur les fichiers ? un htaccess dans ce dossier avec deny from all dedans ?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Pour interdire un accès extérieur aux fichiers tu peux les mettre dans un dossier protégé par un .htaccess contenant la seule mention deny from all. Mais les autorisations des fichiers permettent une protection plus fine et efficace. Par exemple même si ton fichier doit être accessible, tu peux quand même régler les autorisations pour interdire d'écraser tes fichiers (si tu ne prévois pas de mise à jour automatique), ce qui est déjà une bonne chose.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Ok super, bon bah je te remercie, tu m'as rassuré

  6. #6
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 148
    Points : 417
    Points
    417
    Par défaut
    ou CMS comme Wordpress, où il y a des fonctions pour la sécurité et un cadre de travail déjà bien sécurisé
    Wordpress? Celui avec une liste de failles de sécurité plus longue que le bras? Celui qu'on peut ddos en tappant une url, celui où on pouvait recuperer le mot de passe admin (pour ne parler que de deux récentes qui me reviennent en mémoire)?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Va falloir arrêter avec Wordpress. Il est de base très sécurisé, c'est ce que tu en as fais après qui le rend vulnérable ou non. Avec les bons outils je n'ai jamais eu de hacking sur aucun des sites que j'ai pu faire.
    Faut prendre des plugins payants ou gratuit mais reconnus, désactiver si possible xmlrpc et l'api REST et changer l'URL d'admin par défaut. Si tu développe, tu fais attention a utiliser les wp_nonce ainsi que les bonnes fonctions pour nettoyer les données de formulaire entré par les utilisateurs et y a pas de problèmes.

    Tout les clients n'ont pas les moyens de payé pour qu'on fasse un site from scratch ou avec un framework . Si le client a besoin d'un site avec juste des pages, et des évènements par example c'est vachement rapide de faire avec Wordpress. Reste plus qu'à faire un joli thème et tout le monde est content

  8. #8
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 148
    Points : 417
    Points
    417
    Par défaut
    C'est surtout sa popularité qui le rend vulnerable : plus y'a de sites qui l'utilisent et plus y a de gens qui cherchent à le casser, c'est comme tout. Et comme c'est un CMS (donc accessible) y'a beaucoup de gens qui peuvent l'utiliser sans rien connaitre à l'informatique, le developpement ou la securité et qui donc utilisent n'importe quoi ou ne patchent pas.

    Il est de base très sécurisé, c'est ce que tu en as fais après qui le rend vulnérable ou non
    Certes, encore une fois c'est vrai pour tout. De là à dire qu'il est tres sécurisé non. Devoir desactiver l'API REST car elle permettait d'injecter du contenu de manière anonyme c'est pas ce que j'appelle un truc sécurisé.
    De même un logiciel qui comporte une faille permettant de réintialise le mdp du root juste en modifiant une entete http je ne le qualifie pas de sécurisé.

    Des failles il y en a partout, il y en aura toujours dans WP comme ailleurs. C'est juste que dans WP y'en un peu plus

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

Discussions similaires

  1. [Débutant] Besoin d'aide sur l'optimisation d'une application
    Par justdohit dans le forum C#
    Réponses: 2
    Dernier message: 19/02/2016, 16h14
  2. Besoin de conseil sur l'architecture d'une application
    Par b_reda31 dans le forum WinDev
    Réponses: 14
    Dernier message: 29/09/2015, 10h09
  3. Réponses: 0
    Dernier message: 20/06/2014, 21h51
  4. Besoin d'aide sur la création d'une page Web
    Par FournelAlex dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 21/01/2011, 17h37

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