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


eric
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: Mer Nov 06, 2002 14:05

$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 accro
WRInaute accro
 
Messages: 1649
Inscription: Mer Juil 10, 2002 17:36

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 passionné
WRInaute passionné
 
Messages: 583
Inscription: Jeu Oct 17, 2002 21:51

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: Mer Nov 06, 2002 14:05

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 passionné
WRInaute passionné
 
Messages: 583
Inscription: Jeu Oct 17, 2002 21:51

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: Mer Nov 06, 2002 14:05

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 impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

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 passionné
WRInaute passionné
 
Messages: 583
Inscription: Jeu Oct 17, 2002 21:51

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: 15914
Inscription: Ven Avr 19, 2002 19:51

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 impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

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 passionné
WRInaute passionné
 
Messages: 583
Inscription: Jeu Oct 17, 2002 21:51

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: 15914
Inscription: Ven Avr 19, 2002 19:51

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 impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

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 accro
WRInaute accro
 
Messages: 2209
Inscription: Lun Déc 02, 2002 18:21

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: 15914
Inscription: Ven Avr 19, 2002 19:51

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

Lectures recommandées sur ce thème :



Qui est en ligne

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