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

PHP & Base de donn�es Discussion :

S�curit� et lisibilit� - bonnes pratiques ?


Sujet :

PHP & Base de donn�es

  1. #1
    Membre �clair�
    Inscrit en
    Mai 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par d�faut S�curit� et lisibilit� - bonnes pratiques ?
    Bonjour � toutes et � tous,

    J'aimerai avoir votre retour � ce sujet, si je suis sur des bonnes pratiques en faisant cela ou... pas

    1 - Sur certaines pages de mon site, je me connecte � ma BDD
    Au niveau de mon h�bergeur, la hi�rarchie est la suivante:

    MonDossierUtilisateur
    .............................. Dossier : www => Tout ce qui se trouve dans ce dossier peut �tre accessible depuis le web (sauf si plac� en dossier s�curis�) : exemple : lecture automatique de index.php
    ............................... Dossiers AUTRES => non accessible depuis le web, seul PHP peut y acc�der (donc �l�ments s�curis�s d'office, on est d'accord ?)

    Je dispose d'un fichier connexion_bdd.php
    Si je place connexion_bdd.php dans Dossiers AUTRES, le niveau de s�curit� est il plus important que si je le place dans dossier www ?

    J'ai toujours un peu de mal avec les "aspirateurs de site" et leur fonctionnement.
    Si j'aspire un site internet, est ce que j'aspire le fichier tel qu'il est sur l'h�bergement ou ou ce que je copie un contenu qu'un humain aurait pu lire en ouvrant le code source de la page (dans ce dernier cas de figure, tout ce qui est �crit en php est donc s�curis� par nature)

    2 - Lisibilit� de l'URL et 's�curit�' de bas �tage
    Imaginons que je dispose d'un dossier ARTICLES qui contient 3 articles

    MonDossierUtilisateur
    .............................. Dossier : www
    .............................. .................... Sous Dossier : ARTICLES => contient 3 articles

    Mon URL aura l'apparence suivante :
    http/monsite/ARTICLES/article1.php

    Si je supprime article1.php => le navigateur m'affiche le contenu de ARTICLES.

    Pour �viter cela, la solution que j'ai en t�te est d'utiliser header()
    Si l'URL de ma page est http/monsite/ARTICLES/ => header => page Accueil (par exemple)

    Est ce une bonne pratique ?
    Ou existe t-il d'autres mani�res de proc�der ?
    (L'utilisation du header de cette mani�re la sous entend d'avoir pr�vu une redirection pour tous les cas de figure)

    3 - 'Design' de l'URL :
    Si mon URL est http/monsite/ARTICLES/article1.php, il me semble qu'il existe une possible d'afficher http/monsite/
    En revanche si je clique sur la barre, tout apparait.
    Je n'arrive plus � mettre la main sur la mani�re de proc�der.
    Des pistes � me sugg�rer ? (A moins que j'ai r�v� cela et que cela n'a jamais existe mais il me semble que si)

    La pour le coup, on est seulement sur du 'design'

    D'avance merci pour vos �claircissements

  2. #2
    Membre �m�rite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    431
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 431
    Par d�faut
    Bonjour,

    Le serveur web est normalement configur� pour interpr�ter le PHP et ne pas l'afficher � l'internaute, en th�orie la s�curit� est donc �quivalente si le fichier connexion_bdd.php est dans le dossier accessible depuis le web ou non.
    En pratique, c'est toujours mieux et souvent simple de le mettre dans le dossier non accessible depuis le web.
    Un aspirateur de site a les m�mes acc�s qu'un internaute : il ne pourra donc pas voir le code PHP si le serveur est configur� normalement.

    Pas s�r d'avoir bien compris les autres questions.

    L'affichage du contenu d'un dossier d�pend de la configuration du serveur web, via Apache on peut d�sactiver l'indexation via Options -Indexes : https://httpd.apache.org/docs/2.4/mod/core.html#options
    Si l'url de la page est https://monsite.com/articles mais que cette url ne correspond � aucune page, le serveur devrait alors retourner/rediriger une page 404.

    L'URL affich�e dans le navigateur doit correspondre � la page visit�e. C'est une mauvaise pratique d'afficher une fausse URL dans le navigateur car l'internaute ne pourra pas m�moriser l'URL ou la mettre en favoris pour y revenir facilement.
    Si tu ne r�ves pas, essaye de nous donner un exemple si possible.

  3. #3
    Membre �clair�
    Inscrit en
    Mai 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par d�faut
    Bonjour

    Merci pour ton retour

    1 -
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Le serveur web est normalement configuré pour interpréter le PHP et ne pas l'afficher à l'internaute, en théorie la sécurité est donc équivalente si le fichier connexion_bdd.php est dans le dossier accessible depuis le web ou non.
    En pratique, c'est toujours mieux et souvent simple de le mettre dans le dossier non accessible depuis le web.
    Un aspirateur de site a les mêmes accès qu'un internaute : il ne pourra donc pas voir le code PHP si le serveur est configuré normalement.
    Je te remercie pour ta r�ponse qui conforte l'id�e que je m'en faisais.
    C�t� serveur, je suis sur une offre mutualis�e donc j�image que la configuration est correcte.
    Je vais leur poser la question par acquis de conscience mais leur r�ponse devrait concorder avec un non affichage pour l'internaute.

    Merci �galement pour la r�ponse concernant l'aspirateur de site. C'est un des points qui me fait un peu peur donc je solde petit � petit ce genre de question.

    2 -
    Le dossier racine sur mon h�bergement est www (affichage du nom de domaine en lien URL) => www.mondomaine.com
    J'ai plac� dans mon dossier www, un sous dossier Articles qui contient X page php. Chaque page php contient un article (je proc�de de cette mani�re l� pour r�pondre le plus possible au SEO).

    Si un utilisateur va sur un article, l'URL prend donc la forme suivante :
    www.mondomaine.com/Articles/mon_article.php

    Si l'utilisateur supprime dans la barre d'adresse "mon_article.php", l'URL devient alors =>www.mondomaine.com/Articles/ et le navigateur affiche tout le contenu du dossier Articles.

    Si je comprends bien, il s'agit de la configuration du serveur mutualis� qui n'affiche pas d'erreur 404 quand cela se produit ?

    Puisque je ne peux pas modifier cela (je vais leur demander), je pensais utiliser la fonction header().

    Dans le cas pr�sent, si l'utilisateur supprime "mon_article.php", alors mon URL sera =>www.mondomaine.com/Articles/
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    if(URL=>www.mondomaine.com/Articles/ )
    {
    header(Je redirige le visiteur sur www.mondomaine.com par exemple )
    }
    3 -
    Pour l'URL, l'id�e n'est pas de modifier la valeur r�elle de l'URL mais de masquer certaines informations (sauf si l'utilisateur clique dans la barre URL).
    Par exemple, imaginons que je r�cup�re des informations via $_GET
    L'URL pourrait �tre http://www.mondomaine.com?page=2&num...prenom=Andrew&.....

    Est-il possible d'afficher simplement :
    www.mondomaine.com?page=2

    Et si le visiteur clique dans la barre alors la toute l'adresse s'affiche :
    http://www.mondomaine.com?page=2&num...prenom=Andrew&.....

    J'esp�re avoir �t� plus clair sur mon second message

    Encore un grand merci pour l'aide apport�e

  4. #4
    Membre �m�rite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    431
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 431
    Par d�faut
    L'affichage du contenu du dossier vient surement de l'indexation activ�e sur le serveur web, tu devrais pouvoir le d�sactiver via un fichier .htaccess en mutualis� (ton h�bergeur pourra mieux te renseigner).

    Ta derni�re question concerne l'URL Rewriting, tu devrais trouver des infos en faisant une recherche avec ces termes.
    Avec Apache, on utilisera mod_rewrite : https://httpd.apache.org/docs/2.4/fr/rewrite/intro.html

  5. #5
    Membre chevronn�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2022
    Messages
    310
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 310
    Par d�faut
    Bonjour,

    3) Quel est l'int�r�t de cacher / afficher les datas dans l'url ?
    Parce que je comprend pas.
    Si tu veux formatter l'url pour le rendre plus lisible , un petit truc js ou �quivalent c'est faisable.
    Mais je connais pas d'event js qui permettent de d�tecter quand tu cliques dans la barre de recherche.
    Donc bon ... Un event blur sur window ... Bof hein ...

    2) C'est un cas d'exemple ou tu parles sinc�rement de supprimer un fichier php nomm� article.php ?

    Cdt

  6. #6
    Membre �clair�
    Inscrit en
    Mai 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par d�faut
    Bonjour,

    Merci pour vos retours.

    Mon h�bergeur va m'envoyer de la doc au sujet de l'indexation / .htaccess
    Je vais avoir un peu de lecture

    Je parcours le lien que tu m'as communiqu� au sujet de l'URL Rewriting

    @gabi7756 :
    3) C'est plus pour de l'esth�tique et puis une personne qui n'y connais pas grand chose n'aura pas l'id�e de changer un $_GET (par exemple) s'il ne voit pas de transmission dans l'URL.
    M�me si ce n'est pas a ce niveau que l'on prot�ge je suis d'accord.

    Je n'ai malheureusement pas encore de connaissance en js.

    2) Non c'est simplement une suppression dans l'URL. Et dans certains cas, cela am�ne � afficher le contenu de mon dossier dans sa totalit�.
    C'est la r�ponse de @Pytet ci-dessus sur l'indexation que je dois creuser.

    Encore merci pour vos retours

  7. #7
    Expert confirm�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par d�faut
    Citation Envoy� par BOU59000 Voir le message

    Si l'utilisateur supprime dans la barre d'adresse "mon_article.php", l'URL devient alors =>www.mondomaine.com/Articles/ et le navigateur affiche tout le contenu du dossier Articles.
    Si tu veux �viter �a, dans ton dossier "Articles" tu cr�es un fichier nomm� "index.php" dans lequel tu mets ce que tu veux, et donc le navigateur affichera le contenu de ce fichier si l'adresse est www.mondomaine.com/Articles/. C'est un moyen pratique d'�viter de lister le contenu d'un r�pertoire sans avoir besoin de modifier autre chose.

  8. #8
    Membre �clair�
    Inscrit en
    Mai 2008
    Messages
    248
    D�tails du profil
    Informations personnelles :
    �ge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par d�faut
    Citation Envoy� par ABCIWEB Voir le message
    Si tu veux �viter �a, dans ton dossier "Articles" tu cr�es un fichier nomm� "index.php" dans lequel tu mets ce que tu veux, et donc le navigateur affichera le contenu de ce fichier si l'adresse est www.mondomaine.com/Articles/. C'est un moyen pratique d'�viter de lister le contenu d'un r�pertoire sans avoir besoin de modifier autre chose.
    Bonjour,

    G�nial
    C'est tout simplement une super id�e de proc�der de cette mani�re la plut�t que de devoir g�rer toutes les possibilit�s avec des header() ci et la

    Un grand merci � toi

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Bonnes pratiques de protections individuelles
    Par Community Management dans le forum S�curit�
    R�ponses: 23
    Dernier message: 11/06/2024, 11h23
  2. R�ponses: 7
    Dernier message: 02/11/2005, 15h30
  3. [Bonne pratique]Strat�gie d'allocation
    Par jowo dans le forum C
    R�ponses: 1
    Dernier message: 05/10/2005, 14h47
  4. [FOREIGN K] Valeur de champ = nom de table. Bonne pratique ?
    Par Seb des Monts dans le forum Langage SQL
    R�ponses: 9
    Dernier message: 17/05/2005, 10h56

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