$REQUEST_URI ok dans googlestats.inc.php si url rewriting


eric
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: 6 Nov 2002

$REQUEST_URI ok dans googlestats.inc.php si url rewriting

Message le Mer Déc 04, 2002 1:09

Juste pour confirmer que comme le disaient en page 2 du fameux topic à 5 pages Mitrapa et Fruge, l'utilisation de $REQUEST_URI dans googlestats.inc.php peut être profitable.

Dans mon cas j'ai fait de l'url rewriting à peu près partout sur mon site et avec le script de la version actuelle :

Code: Tout sélectionner
<?php
/***************************************************************************
*
*   GoogleStats
*
* Author:  Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com/ )
* Version: 1.01
* Date:    2002-11-02
*
***************************************************************************/
if (!isset($_SERVER))
  $_SERVER = $HTTP_SERVER_VARS;
if (strpos($_SERVER["REMOTE_HOST"], "googlebot.com") != false)
{
  $date_ = date("Y-m-d H:i");
  $url_  = $_SERVER["SCRIPT_NAME"];
  $ip_   = $_SERVER["REMOTE_ADDR"];

  if ($_SERVER["QUERY_STRING"] != "")
    $url_ .= "?".$_SERVER["QUERY_STRING"];
  $sql   = "INSERT INTO ".$TABLE_LOG;
  $sql  .= " (url, date, ip) VALUES ('$url_', '$date_', '$ip_')";
  $res  = @mysql_query($sql);
}
?>


J'ai les "véritables" adresses de mes pages et non pas celles produites par l'url rewriting.

En modifiant de la manière suivante :

Code: Tout sélectionner
<?php
/***************************************************************************
*
*   GoogleStats
*
* Author:  Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com/ )
* Version: 1.01
* Date:    2002-11-02
*
***************************************************************************/
if (!isset($_SERVER))
  $_SERVER = $HTTP_SERVER_VARS;
if (strpos($_SERVER["REMOTE_HOST"], "googlebot.com") != false)
{
  $date_ = date("Y-m-d H:i");
  $url_  = "$_SERVER[REQUEST_URI]";
  $ip_   = $_SERVER["REMOTE_ADDR"];

//  if ($_SERVER["QUERY_STRING"] != "")
//    $url_ .= "?".$_SERVER["QUERY_STRING"];
  $sql   = "INSERT INTO ".$TABLE_LOG;
  $sql  .= " (url, date, ip) VALUES ('$url_', '$date_', '$ip_')";
  $res  = @mysql_query($sql);
}
?>


J'ai l'url produite par l'url rewriting, plus exactement tout ce qui se situe après le nom de domaine.
En plus si il y a des paramètres ils sont pris en compte.

C'est quand même plus facile à analyser.


C'est peut être une modif pour la prochaine version WRI ... ?

@ +
Dernière édition par eric le Mer Déc 04, 2002 10:49, édité 1 fois.

Mitirapa
WRInaute passionné
WRInaute passionné
 
Messages: 1657
Inscription: 10 Juil 2002

Message le Mer Déc 04, 2002 8:15

a noter que $REQUEST_URI ne marque pas sur tous les serveurs.. sur microsoft ca ne marche pas (et les varialbes equivalentes non plus)
qqun a une soluce?


deblok
WRInaute impliqué
WRInaute impliqué
 
Messages: 583
Inscription: 17 Oct 2002

Message le Mer Déc 04, 2002 9:52

$url_ = "$REQUEST_URI";


Il est beaucoup mieux de mettre:

$url_ = "$_SERVER[REQUEST_URI]";


Puisque que par defaut désormais les globals variables sont a OFF ... (ce qui corrige plein de tru de sécu).


eric
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: 6 Nov 2002

Message le Mer Déc 04, 2002 10:49

Oui c'est bien vrai, d'ailleurs c'est marrant que mon hébergeur OVH ait toujours les "register_globals" sur on.

J'ai modifié en conséquence le script du 1er message.

@ +


deblok
WRInaute impliqué
WRInaute impliqué
 
Messages: 583
Inscription: 17 Oct 2002

Message le Mer Déc 04, 2002 11:03

Oui c'est bien vrai, d'ailleurs c'est marrant que mon hébergeur OVH ait toujours les "register_globals" sur on.


Normal t'imagines la tête des clients si on leur dit il va falloir refaire tous vos scripts ?

Par contre sur leur dédiés par défaut ils est à OFF mais bon comme c ta machine tu en fait ce que tu veut. D'ailleurs sur toutes les nouvelles versions de PHP il est à OFF il faut le configurer à ON à la mano.


eric
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: 6 Nov 2002

Message le Mer Déc 04, 2002 11:11

Oui c'est sûr, mais je pensais quand même que pas mal d'hébergeurs avaient franchi le pas ...


absoluteweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 478
Inscription: 22 Nov 2002

Message le Mer Déc 04, 2002 12:47

Mitirapa a écrit:a noter que $REQUEST_URI ne marque pas sur tous les serveurs.. sur microsoft ca ne marche pas (et les varialbes equivalentes non plus)
qqun a une soluce?

Je viens de trouver la soluce :lol: non sans mal...
Apparement une variable d'environnement a été récement ajoutée à Windows :

HTTP_X_REWRITE_URL

Elle porte bien son nom ! Et fonctionne impec...


deblok
WRInaute impliqué
WRInaute impliqué
 
Messages: 583
Inscription: 17 Oct 2002

Message le Dim Déc 15, 2002 20:49

$HTTP_X_REWRITE_URL > c pour les serveurs sous windows


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Message le Dim Déc 15, 2002 20:50

donc si $REQUEST_URI n'existe pas, il faut utiliser $HTTP_X_REWRITE_URL ?
c'est bien ça ?


absoluteweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 478
Inscription: 22 Nov 2002

Message le Dim Déc 15, 2002 23:47

deblok a écrit:$HTTP_X_REWRITE_URL > c pour les serveurs sous windows

Qui a dit le contraire ?

Au passage le $ c'est pour le php pas pour l'asp

Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("HTTP_X_REWRITE_URL") donnera l'adresse complète (querystring compris) en ASP sous serveur Windows...


deblok
WRInaute impliqué
WRInaute impliqué
 
Messages: 583
Inscription: 17 Oct 2002

Message le Dim Déc 15, 2002 23:52

absoluteweb a écrit:
deblok a écrit:$HTTP_X_REWRITE_URL > c pour les serveurs sous windows

Qui a dit le contraire ?


Oups j'avais mal lu


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Message le Dim Déc 15, 2002 23:55

ah oui j'avais oublié qu'il n'y a pas de PHP sous Windows !


absoluteweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 478
Inscription: 22 Nov 2002

Message le Lun Déc 16, 2002 0:03

C'est pas particulièrement naturel de faire du PHP sous Windows... Et encore moins de l'ASP sous Linux avec une bonne couche de ChiliASP...


hetzeld
WRInaute passionné
WRInaute passionné
 
Messages: 2209
Inscription: 2 Déc 2002

Message le Lun Déc 16, 2002 7:11

WebRankInfo a écrit:ah oui j'avais oublié qu'il n'y a pas de PHP sous Windows !


:?: :?: Si, bien sûr! Même si mes sites sont sur serveurs Linux, j'utilise comme beaucoup un PC windows avec Apache, PHP et mySQL por le développement.

Dan


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Message le Lun Déc 16, 2002 12:14

d'accord, on peut utliser EasyPHP mais au final, tu ne pourras pas utiliser les techniques d'URL rewriting basées sur PHP et Apache, si ton serveur tourne sous IIS avec ASP !

$REQUEST_URI ok dans googlestats.inc.php si url rewriting

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités