2010-09-24 9 views
0

J'utilise .htaccess RewriteRule sur un site Web sur lequel je travaille.Détecter si une page a été appelée via .htaccess RewriteRule en PHP

Voici un échantillon de mon .htaccess

RewriteEngine on 
RewriteRule ^about.htm$ /index.php?load=about&output=html [NC] 

Je voudrais savoir s'il y a un moyen dans mon fichier index.php pour détecter si la page a été appelé par un Rewrite ou l'utilisateur atteint ce directement. J'essaie d'éviter d'avoir à écrire un contrôle de sécurité que Je ne suis même pas sûr par où commencer.

S'il n'y a aucun moyen de faire cette "vérification" où dois-je commencer à sécuriser le fichier?

Je pense serait de faire en sorte que load et output sont transmis au $_GET, faire un strip_tags(), trim(), stripslashes() et supprimer les citations.

Merci!

Répondre

1

Recherchez REDIRECT_URL ou REDIRECT_STATUS dans le fichier global _SERVER. mod_rewrite devrait les ajouter.

+0

Hé, c'était rapide! Mais je me demande maintenant si mon schéma était bon dans le cas où je devais faire la sécurité moi-même. Une idée? J'accepterai votre réponse dans quelques-uns. – Cybrix

+0

Pas de problème. mod_rewrite est un puissant mojo. Ma seule pensée en regardant le motif fourni est que cela pourrait être plus simple. Si j'étais vous, je regarderais des exemples proéminents comme le fichier .htaccess utilisé par Zend Framework, Drupal, et ainsi de suite. Le ZF htaccess est assez simple, et envoie tout simplement à index.php qui n'est pas un fichier ou un répertoire. Vous pouvez donc simplement utiliser/about (ou /about.htm) comme URL et laisser index.php analyser le champ REQUEST_URI en séparant les "/". – bogeymin

Questions connexes