Eviter l'arrivée par une page secondaire ?

WebTotoche -  
webtotoche Messages postés 69 Statut Membre -
Bonjour,

En utilisant les moteurs de recherches les internautes peuvent atterrir sur une page secondaire d'un site, celle qui correspond aux mots-clés qu'ils ont saisis.

C'est très bien dans la plupart des cas mais on aimerait parfois qu'il passe d'abord par la page principale du site et que, s'il démarre la visite par une page "secondaire", il soit dirigé d'office vers cette page principale.

J'ai cherché un peu partout comment faire mais je n'ai pas trouvé de solution.

(j'avais pensé à tester l'existence d'une valeur de $_SESSION qui ne serait initialisée que dans la page principale puis à rediriger l'internaute en cas de négatif, mais j'ai des sacrés problèmes avec "session_start" et "header", je dois mal m'y prendre :-/ ).

Idéalement je voudrais éviter qu'un internaute affiche une page donnée, soit parce qu'il a tapé son url directement dans le navigateur, soit parce qu'il a atterri dessus par un autre moyen, et tout ça sans être passé par la page principale.

Connaissez-vous une solution relativement simple (si possible :) ) à mettre en oeuvre ?

Un grand merci par avance !
A voir également:

2 réponses

gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
en javascript c'est faisable, mais je n'ai plus le code en tête. en revanche, c'est très mauvais pour l'utilisateur. car s'il arrive depuis google, et qu'il ne tombe pas sur la page recherchée... il ne restera pas sur ton site.

a toi de voir...
0
WebTotoche
 
Salut !

Merci pour ta réponse.

Je vais chercher du côté du JavaScript alors (si tu as des pistes je suis preneur ! :) ).

Pour l'arrivée dans une page secondaire, via Google par exemple, puis redirection, dans le cas présent ce n'est pas un problème : en fait je veux éviter que l'internaute affiche de lui-même une page qui ne devrait être "appelée" que par le site.

L'exemple qui me tracasse : supposons une page "login.php" qui ne doit être appelée qu'à partir de "index.php".

Si l'internaute passe par "index.php" : tout va bien.

Mais s'il tape directement "http://www.monsite.com/login.php" dans son navigateur alors là il devrait être redirigé vers "http://www.monsite.com/index.php".

(je sais que dans TOUS les sites normalement constitués la saisie login /mot de passe se fait sur la page principale ;) )

(je sais aussi qu'on peut proposer une zone de login dans une page secondaire au cas où, mébon, moi je veux trouver des soluces pour des cas tordus ! )

Voila en fait le souci.

j'ai fait quelques essais depuis hier, certains presque concluants mais c'est pas encore ça :( donc je crois que je vais revenir à une conception plus othodoxe en attendant.

( mais la question reste ouverte :) )
0
gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
habituellement un "module de login" peut effectivement etre appellé login.php. en revanche, celui ci est appelé par une fonction php : <?php include "login.php" ?> qui est interprété par le serveur et non par le navigateur. or, un bot pour moteur de recherche vois ta page web a peu pret comme un navigateur je pense, ca m'etonnerait qu'il soit en mesure de lire le code coté serveur.
de ce fait, pas de risque que la page login soit atteinte via google ou autre...
0
webtotoche Messages postés 69 Statut Membre 7
 
Salut !

Si j'appelle un script php par "include" personne ne verra le nom du script appelé, ça c'est ok.

Mais... Si le nom de mon script apparaît dans la page (quel que soit le nom du script, "login.php", "myGreatParadigm.php"...) ne serait-ce que parce qu'il figure dans un lien, ben là l'internaute pourrait l'appeler directement et... je voudrais savoir s'il est possible de se prémunir contre ce comportement.


_
0