Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
853 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Génération auto de pages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Génération auto de pages

n°1707919
erwan83
Du Shift DEL tu te méfieras !
Posté le 26-03-2008 à 11:51:02  profilanswer
 

Bonjour
si l'on regarde ici : http://spaccon-1998.spam.com on arrive sur une page autogénérée (un site de construction de ville blabalbla etc et là en l'occurence c'est celle de mon fils :) ) on tombe ur un site qui a généré une page pour chaque internaute s'étant inscrit...
 
Donc, lors de l'inscription, l'internaute choisit un log et sa page correspond à http:// log.hebergeur.com par exemple
Jusque là me direz vois c'est NORMAL
Ma question c'est :
Comment se passe la génération ? non pas la génération du code de la page, mais celle du nom de la page ?
Comment dire à PHP (je suppose que c'en est) qu'il doit créer une page ?
Est-ce juste un appel à un nom rentré en base de données et après PHP génère le code derrière ? si oui peut-on m'éclairer un peu ? Comment PHP fait il pour appeler une page dont même le nom est "virtuel" ?  :pt1cable:  
Merci beaucoup.

Message cité 1 fois
Message édité par erwan83 le 26-03-2008 à 11:55:36

---------------
http://www.ypikay.com
mood
Publicité
Posté le 26-03-2008 à 11:51:02  profilanswer
 

n°1708177
Ekuryua
Posté le 26-03-2008 à 15:49:37  profilanswer
 

erwan83 a écrit :

Comment PHP fait il pour appeler une page dont même le nom est "virtuel" ?


 
C'est pas qu'une question PHP.
 
D'abord, ton nom de domaine foo.example.com, faut qu'il pointe vers l'IP de ton serveur Web. Pour ça, faut voir le serveur DNS que t'utilises, et comment déclarer un nouveau sous-domaine de manière scriptable (et publique, donc il te faudra un serveur DNS toujours accessible, sécurisé, et bien configuré -et donc, déclaré au registrar qui s'occupe de ton domaine, s'ils supporte ça). J'ai jamais eu à faire ça, et j'ai pas encore bien vu la configuration des serveurs DNS, donc je peux pas te dire grand chose de plus.
 
Ensuite, faut qu'Apache associe ce nom de domaine à ton sites Internet. Pour ça, faut rajouter un truc genre "ServerAlias *.example.com", dans le VirtualHost de ton site, et redémarrer Apache (une seule fois, bien entendu).
 
Et finalement, une fois que tes utilisateurs arrivent sur ton site, tu peux utiliser "$_SERVER['HTTP_HOST']", dans PHP, pour avoir le nom de domaine utilisé par l'utilisateur, pour accéder au site. Donc, par exemple, "foo.example.com". À partir de là, renvoie ce que tu veux.
 
À noter que "$_SERVER['HTTP_HOST']" peut contenir le port du site, donc vaut mieux prévoir et le virer s'il est présent (enfin en général, il est pas envoyé, si le site est sur le port par défaut).
 
Vérifie aussi bien, que le nom de domaine ne contient que "[a-zA-Z0-9\-\.]+", et que le nom de l'utilisateur commence par une lettre, et pas par un point (enfin que le nom d'utilisateur est pas "..", quoi... ça pourrait poser un problème de sécurité, selon comment est organisé le reste du système). Je suppose qu'il devrait pas arriver jusqu'à PHP, s'il contient autre chose, mais on sait jamais...
 
Si tu veux renvoyer vers des sites/pages réelles, tu peux aussi le faire directement depuis Apache, sans PHP, avec mod_rewrite (dans un .htaccess, à la racine du site, ou dans une section <Directory>, de la racine du site).
 
Un truc genre:
 


RewriteCond %{HTTP_HOST} ^([a-z0-9\-]+)\.example.com(:[0-9]+)?$ [nocase]
RewriteRule ^.*$ /%1/$0


 
... qui redirigera, par exemple "http://foo.example.com/Bar.xhtml", vers "/foo/Bar.xhtml", en interne (donc l'utilisateur continuera à voir l'adresse originale). Comme ça, tu peux mettre tous les fichiers de l'utilisateur, dans un répertoire précis (enfin dans ce cas, tu pourras aussi accéder aux répertoires, en utilisant "http://example.com/foo/", par exemple, si ton VirtualHost utilise "example.com" comme nom par défaut... dans ce cas, si tu le veux pas -s'pas super pour les moteurs de recherche, si quelque laisse traîner ce type d'adresse-, faudra rajouter quelques règles, pour interdir les requêtes vers les répertoires, si HTTP_HOST est example.com... sauf pour les quelques répertoires autres, si t'as un site sur example.com).
 
(J'ai la flemme de vérifier si le "%1" marche bien, mais je suppose que ça devrait aller... s'pour récupérer la première partie du nom de domaine du RewriteCond du dessus).

n°1708297
erwan83
Du Shift DEL tu te méfieras !
Posté le 26-03-2008 à 18:04:16  profilanswer
 

et ben...
Pffffff
Je te remercie beaucoup de toutes ces explication !
Merci vraiment
Bon... Au boulot :)


---------------
http://www.ypikay.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Génération auto de pages

 

Sujets relatifs
Génération d'un calendrier sportif[Webservice] Serveur Xfire & génération d'un client à partir d'un WSDL
[PHP] génération d'un pdf (pas une impression de page)Débutant : lier pages php et forum phpbb3
probleme d'affichage des accents sur mes pages[EXCEL] Scanne des champs pour génération d'une nouvelle table
protections des pages web en php avec les sessionsauto remplir un formulair extérieur
Eviter les flashs blancs au chargement des pages[Résolu] Auto Increment de EasyPHP
Plus de sujets relatifs à : Génération auto de pages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR