Je ne compterais jamais sur « HTTP_REFERER ». <�>De http://php.net/manual/en/reserved.variables.server.php > :
« Ceci est placé par l'agent d'utilisateur. Non tous les agents d'utilisateur placeront ceci, et certains fournissent la capacité de modifier HTTP_REFERER comme dispositif. En bref, il ne peut pas vraiment faire confiance. »
Il y avait un certain nombre de solutions que je pourrais penser à pour ce problème. Je ne suis pas sûr comme elles fiables sont, selon le niveau de la sécurité requis.
(1) Javascript :
//child.php
(2) $_GET
//parent.php
//child.php
si ($_GET [« picowatt »] ! = « … ") {
en-tête (...) ;
mourir () ;
}
(3) $_SESSION (ne pas savoir si ceci fonctionnera des tonnes d'ouverture d'étiquettes)
//parent.php
$_SESSION [« parent »] = RECTIFIENT ;
//child.php
si (! $_SESSION [« parent »]) {
en-tête (...) ;
}
$_SESSION [« parent »] = FAUX ;
Vous pourriez également employer des htaccess ReWriteRule, mais la solution serait seulement aussi bonne que celle déjà énumérée. #3 serait le plus bloqué, si cela fonctionne. Je ne pense pas que vous pourrez trouver une solution bloquée de plein-preuve, mais ces solutions fonctionneront pour juste des usages universels. Je vous ferai savoir si je pense/trouvaille de toute autre chose. Si vous avez besoin d'autres de détails/d'aides avec une de ces solutions, je l'expliquerai en plus détail.