2010-08-31 4 views
0

Disons que j'ai un site Web www.mySite.com et il y a beaucoup de pages dont les liens sont www.mySite.com\contact.php et www.mySite.com\about.php.HTML: Demande - Réponse Redirection

Et si je veux que quand quelqu'un entre dans un lien direct comme www.mySite.com\about.php au lieu d'ouvrir cette page, il devrait aller à une page myPolicy.php puis myPolicy.php peut \ ne peut pas renvoyer l'utilisateur à la page demandée ....

COMMENT faire

une méthode que je pensais est d'avoir une page PHP myPolicy.php et include \ besoin en début de chaque page afin que je ne peux pas décider temps de continuer la page demandée ou rediriger un autre endroit ou non .. ..

Est-ce que ça va?

Existe-t-il un meilleur moyen ou une meilleure pratique pour ce genre de chose?

+0

@Copas: c'mon homme ... ses affaires occasionnelles .... – Moon

+0

mais merci quand même ... l'apprécier – Moon

+0

Une partie de la plus grande mission de SO est d'être un référentiel de bonnes questions. Si quelqu'un d'autre pose la même question que vous avez ici, il est susceptible d'être fermé et pointé vers cette question. Dans ce cas, il devient moins une question occasionnelle de votre part et plus la référence canonique pour les personnes ayant cette question. Vous pouvez toujours revenir à votre premier message, même si je pense que c'est une mauvaise idée que c'est votre prérogative. – Copas

Répondre

2

Vous pouvez exiger la présence d'un cookie, le rediriger si ce n'est pas le cas, et définir le cookie sur la page myPolicy.

Cependant, je déconseille fortement de le faire. Vous rendrez votre site inaccessible aux moteurs de recherche, inutilisable sur les navigateurs qui bloquent les cookies (ou les référents, si vous l'avez fait de cette façon), inaccessible et hostile aux liens profonds (que la plupart des sites souhaiteraient).

Ceci n'est pas une pratique communément acceptée et il est peu probable que les «conditions d'utilisation» soient plus juridiquement contraignantes.

3

si vous n'avez pas besoin beaucoup plus de sécurité que vous pourriez faire:

if(empty($_SERVER['HTTP_REFERER'])) 
    redirect('myPolicy.php'); 

ce $_SERVER['HTTP_REFERER'] ne peut être invoqué car il est fourni par le navigateur et peut être facilement changé. Si vous voulez une assurance sur ce que vous aurez à penser à la meilleure stratégie. vous pourriez utiliser un système de connexion par exemple. vous devez comprendre que pour le serveur, un utilisateur qui clique sur un lien et un utilisateur qui demande une url (en l'écrivant) est exactement la même chose. vous comptez sur les informations du navigateur (comme $_SERVER['HTTP_REFERER']) juste pour la facilité d'utilisation, pas de sécurité.

+0

et mettre ceci où ... et si j'ai besoin de beaucoup de sécurité ... plz élaborer – Moon

+0

okay. édition ... –