J'ai $_SERVER['HTTP_REFERER']
— prétendre que c'est http://example.com/i/like/turtles.html. Que devrais-je faire pour ne sortir que la partie http://example.com
de la chaîne et la stocker dans sa propre variable?Extraire le schéma et l'hôte de HTTP_REFERER
5
A
Répondre
15
Dans cet exemple, la meilleure solution serait d'utiliser PHP de parse_url
method. Ceci divise l'URL en un tableau associatif. Vous pouvez ensuite construire votre valeur finale en combinant le scheme
avec le host
:
if ($parts = parse_url("http://example.com/i/like/turtles.html")) {
echo $parts[ "scheme" ] . "://" . $parts[ "host" ];
}
13
J'utilise parse_url de la façon suivante ...
if ($urlParts = parse_url($myURI))
$baseUrl = $urlParts["scheme"] . "://" . $urlParts["host"];
2
Vous pouvez utiliser une expression régulière:
if (isset($_SERVER['HTTP_REFERER']) && preg_match('@^[^/]+://[^/][email protected]', $_SERVER['HTTP_REFERER'], $match)) {
var_dump($match[0]);
}
Ou vous pouvez utiliser le parse_url
function.
3
Vous devriez être en mesure d'utiliser the parse_url function pour atteindre cet
Questions connexes
- 1. php/html - http_referer
- 2. Nokia HTTP_REFERER problème
- 3. Comment usurper HTTP_REFERER?
- 4. http_referer perdu à l'aide de https
- 5. dans quelle situation le HTTP_REFERER ne fonctionne-t-il pas?
- 6. GLSL extraire modelmatrix de modelviewmatrix et viewmatrix
- 7. Extraire le nom de fichier de Dir()
- 8. XmlDocument et traitement de schéma lent
- 9. Schéma d'URI de données PHPMailer, AddStringAttachment et
- 10. comparaison de schéma d'équivalence liste de schéma
- 11. Récupérer des éléments de la liste dans le schéma
- 12. Extraire le domaine du lien
- 13. Différence entre null? et vide? dans le schéma
- 14. comment concevoir le schéma Hbase?
- 15. Liste bibliothèque de compréhension pour le schéma?
- 16. Implémentation de fonctions cariées dans le schéma
- 17. Représentation de tableau dans le schéma
- 18. Problème avec le schéma XML
- 19. Renommer le schéma SQL Server
- 20. Motif correspondant dans le schéma
- 21. Application ASP.NET - Extraire, tester, compiler et déployer
- 22. Où puis-je 'setcookie' pour enregistrer http_referer dans Drupal 6?
- 23. Quel ORM peut conserver la correspondance entre le schéma db et le modèle de domaine?
- 24. Où placer les fichiers DTD et schéma
- 25. Sérialisation XML et schéma sans xsd.exe
- 26. Extraire le fichier zip dans flex
- 27. Extraire le texte du fichier CSV
- 28. Extraire rgb de UIColor
- 29. Refrappage XAML - Comment extraire le balisage commun
- 30. Comment extraire le texte d'un fichier PSD?
En sidenote, juste une remarque: le Referer est pas toujours envoyé par le client (il peut être désactivé, par exemple), et peut être truqué. Donc, ne basez aucune fonctionnalité critique (ni orientée sécurité) sur elle! –
@PascalMARTIN Conseil judicieux. Mais, je pense qu'un cas pourrait être fait pour examiner HTTP_REFERER dans $ _SERVER (ou, en utilisant filter_input()/filter_input_array()) à partir d'une requête HTTP POST. –