Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2007, 17h02   #1
Membre régulier
 
Avatar de Pat_AfterMoon
 
Inscription : septembre 2007
Messages : 107
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2007
Messages : 107
Points : 94
Points : 94
Par défaut [Sécurité] Inclure tous les scripts depuis index.php = bien ou pas ?

Pour les 3 sites dynamiques en PHP que j'ai déjà réalisé, j'ai toujours eu un seul point d'entrée depuis l'extérieur, le fichier index.php. Je me chargeais ensuite d'inclure les fichiers nécessaires selon les paramètres passé par l'URL.

exemple :
Code :
1
2
3
4
 
www.monsite.com/?page=contact
plutôt que
www.monsite.com/contact.php
En général je place mes "sous pages" du style contact.php dans un répertoire protégé par un .htaccess de façon à ce qu'elles ne soient pas accessibles hors du index.php. J'ai toujours trouvé cette technique pratique, le point d'entrée unique me permet de faire à un seul endroit toutes les vérifications (sécurité) et toutes les inclusions nécessaires.

Mais voilà, je suis en train de refaire de A à Z l'un de mes sites et je me pose des tas de questions philosophiques. Je remarque surtout qu'aucune application PHP open sources que je consulte ne fonctionne de cette façon.

Il y a peut être des raisons, vous avez des idées ?
référencement ? optimisation ? ... etc
Pat_AfterMoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 17h18   #2
Membre du Club
 
Inscription : juillet 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 69
Points : 68
Points : 68
à ce compte là, tu peux utiliser de l'url rewriting pour renvoyer toutes tes pages vers index.php et traiter la demande dans cette page là.


exemple dans apache :
Code :
1
2
3
4
5
 
# on démarre l'url rewriting
RewriteEngine on
# on renvoi tout sauf javascript, images, flash, etc vers index.php
RewriteRule !\.(js|gif|jpg|png|css|swf)$ index.php [L]

ps : tu peux recuperer l'adresse demandé avec :
- $_SERVER['REDIRECT_URL']
- $_SERVER['REQUEST_URI']


à toi de faire les tests nécessaires...
parksto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 10h33   #3
Membre régulier
 
Avatar de Pat_AfterMoon
 
Inscription : septembre 2007
Messages : 107
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2007
Messages : 107
Points : 94
Points : 94
Merci pour la réponse parksto, mais en fait si je parlais de référencement c'était uniquement une hypothèse de ma part concernant le fait que pratiquement aucune applications PHP connue n'a un point d'entré unique. Avec l'url rewriting je sais que je n'ai pas de soucis à me faire pour le référencement.

Donc je me pose encore la question. Un point d'entrée unique m'oblige à faire des "include" conditionnels (inclure telle ou telle page selon les paramètres transmis). Est ce que cela ne perturberait pas la précompilation et la mise en cache par le serveur PHP, générant une surconsommation de ressources ?
Pat_AfterMoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 13h17   #4
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Tout dépend de ce que tu inclues et de combien de ressources tu disposes...

Généralement, il en faut quand meme pour perturber le traitement d'une page a cause des "include".
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 14h10   #5
Membre du Club
 
Inscription : juillet 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 69
Points : 68
Points : 68
je n'ai pas beaucoup d'exemple sous la main (je n'utilise quasiment jamais les applications PHP connues, j'ai pour habitude de tout faire moi même), mais je sais que sfm à un point d'entrée unique.

tous mes sites, et applications php ont un point d'entré unique avec pas mal de fichiers inclus (des classes) dans le contrôleur principal, et les temps de génération n'ont rien à envier aux "grosse" applications.


mes fichiers index.php ressemblent à ça :
Code :
1
2
3
4
<?php
require_once 'include/OF/OliControleur.php';
OliControleur::setLibDir(dirname(__FILE__).'/../lib/');
OliControleur::run('MonApplication');
parksto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 17h19   #6
Membre régulier
 
Avatar de Pat_AfterMoon
 
Inscription : septembre 2007
Messages : 107
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2007
Messages : 107
Points : 94
Points : 94
Merci pour vos avis, je vais donc continuer à fonctionner avec mon index.php comme point d'entrée unique.
Pat_AfterMoon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 09h50   #7
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 330
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : janvier 2007
Messages : 1 330
Points : 1 659
Points : 1 659
La meilleure façon de faire est de découpé ton index.php en 2 parties (head.php et foot.php)

Et ensuite en début et en fin de chacune de tes pages tu inclus tes 2 fichiers.
ça permet d'éviter d'avoir des url en index.php?page=mapage mais directement mapage.php ce qui est déja bien meilleur pour le référencement.
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 10h00   #8
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Citation:
Envoyé par Seb33300 Voir le message
La meilleure façon de faire est de découpé ton index.php en 2 parties (head.php et foot.php)

Et ensuite en début et en fin de chacune de tes pages tu inclus tes 2 fichiers.
ça permet d'éviter d'avoir des url en index.php?page=mapage mais directement mapage.php ce qui est déja bien meilleur pour le référencement.
Oui et non car on peut très bien rewriter (ce qui de toutes facons est nécessaire dans la plupart des cas) et rendre donc le système de fichiers du site très opaque.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 15h01   #9
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 751
Points : 751
L'essentiel, c'est que tu traites bien les éléments de la requête pour ne pas permettre une inclusion malveillante

ex : http://www.monsite.com/index.php?pag...e.com/hack.dtc
Sergejack est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h41.


 
 
 
 
Partenaires

Hébergement Web