Aller au contenu

Sujets conseillés

Posté

Merci. :up:

Mais effectivement, j'aurrai besoin de plus d'info! :P

J'ai compris le principe, mais pas le fichier.ini!

Quand je fais le premier test:

<?
echo $a;
?>

Je n'ai pas d'erreur. Donc, les variables globales sont à ON.

Mais je ne comprend pas comment changer ça?

Et en plus tu me fais peur en me disant que ça peut être dangereux! :(

  • Réponses 51
  • Créé
  • Dernière réponse

Contributeurs actifs dans ce sujet

Contributeurs actifs dans ce sujet

Posté
ca marche parce que tu as les variables globale sur ON

mais pour des raisons de securité (qui c'est vrai sont difficile a comprendre pour les debutants), il est preconisé de parametrer les variables globales à OFF.

cela dit, je pense que le post derive, donc si ca marche chez ton hebergeur avec le code de Dan, commence comme ca, tu te preoccuperas d'optimiser ton code plus tard !

Salut a tous,

Gribouille n'est pas sur serveur dédié, et son hébergeur a choisi de laisser les variables globales à "On". Inutile donc de lui rendre la vie compliquée B)

Il est vrai que c'est préférable de les positionner à "Off" , je le sais bien, mais je n'ai pas jugé utile de rendre le petit code plus compliqué à comprendre, surtout pour une débutante.

Donc j'ai délibérément fait abstraction de ces variables globales, la sécurité du script ne pouvant pas être mise en doute dans ce cas... il ne prend absolument aucun paramètre ;)

Inutile donc de lui faire peur... je le répète pour Gribouille: "Dans ce script exemple, il n'y a AUCUN risque" ;)

Si tu veux que ton script continue à fonctionner même si ton hébergeur décide de mettre les variables globales à "Off"... voici le script modifié, comme il a déjà été donné par pitidev:

<?php
$date = date("d/m/Y \à G.i:s", time());

$fp=fopen("visiteurs.txt","a");  
fwrite($fp, "Visité le $date par $_SERVER['REMOTE_ADDR'] avec $_SERVER['HTTP_USER_AGENT'] de $_SERVER['HTTP_REFERER']\n");                              
fclose($fp);
?>

Ce code fonctionnera, que les variables globales soient à "On" ou à "Off" B)

Dan

Posté

Alors si je comprend bien, dans mon cas, ce n'est pas moi qui gere ce fichier.ini. C'est Free. :D

De toute façon, il n'y a aucun risque avec un piti code tel que celui que tu m'as donné, Dan! ?

Je change quand meme mon code par le dernier que tu m'as redonner au cas ou Free déciderai de mettre les variables sur off sans que je m'en rende compte! C'est ça?

J'ai aussi ,sur un site hebergé chez Free, un forum en php.

Là, ça peut être dangereux?

Vraiment merci a tous! :flower::flower::flower:

Vous m'avez fait progresser à une visitesse grand V ces derniers temps!

Je ne sais pas où j'en serai sans vos explications attentionnées.... :yoot:

Posté

Gribouille26,

Je l'ai dit et le répète: aucun danger!

En ce qui concerne le forum que tu utilises, tu ne peux pas faire grand chose, si ce n'est d'en mettre la version à jour à chaque fois qu'ils sortent un patch de sécurité.

Il ne faut pas non plus devenir parano ;)

Dan

Posté

D'accord doc,

je calme ma parano sur internet, et je vais changer les codes au cas où Free change. <_<

En tout cas, ça marche très bien! :up:

Des fois, je n'ai pas d'adresse de référents. Ce sont les gens qui tapent directement l'adresse? :blink:

Posté
Des fois, je n'ai pas d'adresse de référents. Ce sont les gens qui tapent directement l'adresse?  :blink:

Cela dépend.... il se peut que le visiteur entre l'adresse, ou simplement que le navigateur utilisé masque le référant. Tu auras donc des pages sans référant.

Il est possible de ne pas écrire ses pages en ajoutant un simple test, mais dans ce cas tu ne verras pas le passage des robots car ils n'ont jamais de référant ;)

Dan

Posté
Inutile donc de lui faire peur... je le répète pour Gribouille: "Dans ce script exemple, il n'y a AUCUN risque" ;)

Si tu veux que ton script continue à fonctionner même si ton hébergeur décide de mettre les variables globales à "Off"... voici le script modifié, comme il a déjà été donné par pitidev:

<?php
$date = date("d/m/Y \à G.i:s", time());

$fp=fopen("visiteurs.txt","a");  
fwrite($fp, "Visité le $date par $_SERVER['REMOTE_ADDR'] avec $_SERVER['HTTP_USER_AGENT'] de $_SERVER['HTTP_REFERER']\n");                              
fclose($fp);
?>

Ce code fonctionnera, que les variables globales soient à "On" ou à "Off" B)

Dan

en fait , au depart, je ne voulais pas du tout faire peur... mais comme gribouille debute, je voulais juste signaler qu'elle prendre des mauvaises habitudes...

le plus gros probleme qui peux lui arriver c'est que son site prends beaucoup d'importance et que l'hebergeur free ne la satisfait plus...

si elle demenage chez un autre hebergeur qui par malchance (ou plutot par chance non?) a les variables globales a OFF et bien elle aura un enorme travaille de mise en conformité ...

a l'heure actuelle, le plus gros danger c'est pas réellement la sécurité mais plutot si l'hebergeur change le parametrage sans que l'on puisse y faire qq chose...

(vive les fichier .htaccess qd meme ;) )

conclusion : prendre les bonnes habitudes des le depart et hop pas de mauvaises surprises plus tard ... et c'est pas pour faire peur que je dis ca, mais c'est comme le principe de respecter les standarts. Autant suivre les preconisations pour ne pas avoir a faire de rattrapage plus tard

Posté

Merci Pitidev,

Même si c'est vrai que tu m'as un peu affolée quelques instants, je te rassure, ça va! :P

J'ai choisit ton code. Au cas où... ;)

Je pense rester encore un peu chez Free, mais dès que j'ai un peu de temps, je me lancerai dans ces histoires de fichiers ini, d'accès aux fichiers, et de sécurité.

Je reviendrai alors surement vous voir.... :whistling:

Posté (modifié)

moi, pour le voir, je ferais en sorte que chaque lien aboutirai à une page ( ex :<a href="nomdusit.fr/enregistrement.php?nomsite=$nomsite&numerolien=$numlien&ip=$ip">lien</a> )

encore faut ensuite, dans la page : on met un $req="SELECT nomsite WHERE $nomsite=/"nomsite"/ AND $numlien=/"numlien"/ ";puis, un $res=mysql_numrows(mysql_query($req);

if($res="0"){

INSERT INTO nomdetatable(nomsite,numlien) VALUES ('$nomsite','$numlien','$ip')

}

else

{

$req2="SELECT nbrclic WHERE $nomsite=/"nomsite"/ AND $numlien=/"numlien"/ ";puis, un $res2=mysql_numrows

$resnew=1+$res2;

ALTER TABLE blabla(numlien,nomsite,ip,nbrclic) WHERE $nomsite=/"nomsite"/ AND $numlien=/"numerolien"/ VALUES ('$numlien','$nomsite','$ip','$resnew')

}

header("Location: lien.html");

etc ...

j'ai fait des fautes (je suis debutant) corrigez les svp ...

enfin, c'était pour l'idée !

//edit

rhaaaa !!!

excusez moi !

j'ai cru que la question était comment savoir combien de fois un lien a il ete utilisé !

Modifié par bigornot
  • 1 year later...
Posté
Salut Gribouille,

Quelques lignes de code php dans chaque page permettent de savoir qui est venu et d'où ... sans base de données ni installation.

Ce code php ajoute lors de chaque visite une ligne dans un fichier texte, dans laquelle tu auras la date, l'adresse IP du visiteur, le USER_AGENT (navigateur) et le référant (s'il y en a un)

<?php
$date = date("d/m/Y \à G.i:s", time());

$fp=fopen("visiteurs.txt","a");  
fwrite($fp, "Visité le $date par $REMOTE_ADDR avec $HTTP_USER_AGENT de $HTTP_REFERER\n");                              
fclose($fp);
?>

Pour tester cela, faut que les pages dans lesquelles tu rajoutes ce code soient nommées en .php.

Le fichier créé sera nommé "visiteurs.txt" ;)

Dan

<{POST_SNAPBACK}>

Bonjour.....Avril 2004...donc tout d'bord "vive la Recherche" ;)

Quand tu dis "dans chaque page", ça se passe comment pour un Forum IPB ?

Je peux le mettre dans le Footer ? car là c'est visible sur toutes les pages du Forum..

En fait moi j'ai besoin d'effectuer un Classement pour mes Partenaires (y'en a bcp, donc c'est un moyen de diminuer et alléger mon Footer) afin de savoir celui qui m'a ramené le plus de visites...

Merci

Posté (modifié)

Allez, remonte petit thread ^_^

J'ai coder un petit truc aujourd'hui pour avoir un aperçu des visites effectués sur un de mes sites. Je me permet de faire mon annonce car je recherche des personnes désirant tester leurs référants et passage de bots.

Il faut juste uploadé le dossier et y accéder pour créer son compte puis placer un include() sur ses pages à surveiller. Mon code n'étant pas parfait, je voudrais avoir des rapports sur l'efficacité, afin de déterminer si je suis sur une bonne base.

Le script n'utilise pas MySQL, les donnée sont stockées dans des fichiers texte (un par jour).

Petite fantaisie, une vérification est faite sur l'IP et le referer pour les transformer en lien avant l'enregistrement.

Si vous êtes intéressés, faite part des bugs rencontrés sur ce thread ou sur mon blog. Si vous avez des idées sur des fonctions à intégrées je suis aussi preneur.

Télécharger Spydmy (un zip très léger)

<edit>

Argh, une grosse erreur dans le code ! Testez et si vous trouvez une solution je vous paye un verre :)

</edit>

Modifié par lupucide
Posté

Merci pour ce système

Petit question: Pour un Forum IPB...

Je dois mettre ça dans ma page index.php je pense...

<?php
if (!isset($_COOKIE['spydmy'])) {
include('../spydmy/spy.php');
}
?>

Ca provoque une erreur et le site ne peut pas s'afficher :whistling:

Posté (modifié)

Tente avec ça :

<?php
if (!isset($_COOKIE['spydmy'])) {
include($_SERVER['SERVER_NAME'].'/spydmy/spy.php');
}
?>

Modifié par lupucide
Posté (modifié)

Idem...

Parse error: parse error, unexpected '<' in /home.2/soccers/www/index.php on line 708

C'est pas à cause des "<?php" et "?>" autour de ton code ???

car il y'a de même qui entoure déjà la page index.php

Modifié par Modibo
Posté (modifié)

Ca dépend où tu place le code. Si tu le case là où se trouve déjà du PHP tu peut virer les balises <?php et ?>.

Modifié par lupucide
Posté (modifié)

OK ca marche

Attendons de voir les visites, réponse demain

Merci...

Edit:

Statistiques du 14/05/05 pour [B][I]60gp.ovh.net[/I][/B]

Ca c'est l'hébergeur...mon site c'est www..... :whistling:

Modifié par Modibo
Posté (modifié)

Une petite question, un peu off-topic...

J'ai vu que le 5ème post de ce sujet avait été fait par "Ldo", avec comme indication "Non enregistré"... Qu'est-ce que c'est que ça? On peut poster sans être enregistré maintenant?? C'est un bug? Mes yeux? :blink:

Modifié par Eclipsis
Posté

Modibo => désolé, $_SERVER["SERVER_NAME"] fonctionne avec localhost et chez Free :/

Je vais chercher autre chose pour afficher le NDD.

Posté (modifié)

Dans le fichier spy.php.

Ligne 14 à remplacer par :

$ip = '<li>IP : '.$_SERVER['REMOTE_ADDR'].'</li>'." \n";

Ligne 42, il peut être utile de préçiser un chemin correct vers le fichier texte à lire et écrire.

Modifié par lupucide
Posté (modifié)

l42

$file = './'.$day.'.txt';

mettre quel fichier ?

Sinon par curiosité g parcouru avec le navigateur le fichier spy.php et:

Warning: fsockopen(): unable to connect to 83.214.69.45:80 in /home.2/soccers/www/spydmy/spy.php on line 10

edit:

en retournant voir ça m'a donné un résultat (c moi je crois :P )

05:13

   * User Agent : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4
   * Page vue : 60gp.ovh.net/~soccers/spydmy/spy.php
   * Référenceur : aucun

Modifié par Modibo
Posté

Euh... évite de donner ton IP comme ça :huh:

Je vais supprimer fsockopen() et afficher simplement l'IP. Je prépare un zip pour ce soir.

Posté
Une petite question, un peu off-topic...

J'ai vu que le 5ème post de ce sujet avait été fait par "Ldo", avec comme indication "Non enregistré"... Qu'est-ce que c'est que ça? On peut poster sans être enregistré maintenant?? C'est un bug? Mes yeux?  :blink:

C'est le cas typique d'un utilisateur enregistré qui a ensuite demandé à un admin la suppression de son compte ;)

Je suis sûr qu'avec la recherche on trouverait des citations de lui faites par d'autres membres en cherchant son pseudo dans le champ "mot-clé" (les "quote=machin" sont référencés).

Le problème est que son pseudo fait 3 lettres donc le moteur de recherche ne veut rien savoir.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant

×
×
  • Créer...