begin process at 2010 09 06 06:25:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > SERVERSPY.NET OU COMMENT DETOURNER DES INFOS SUR UN SERVEUR GRACE AU PHP (HL , Q3 , ...)

SERVERSPY.NET OU COMMENT DETOURNER DES INFOS SUR UN SERVEUR GRACE AU PHP (HL , Q3 , ...)


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Initié Date de création :30/11/2002 Date de mise à jour :30/11/2002 15:14:21 Vu :5 214

Auteur : Viper31

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Bon pour commencer , je voudrai juste dire que vu qu'il s'agit d'un service payant , faites attention a l'utilisation que vous pourrez faire de ca !! Je l'ai uniquement car il s'agissait d'un defi pour moi !

Explication : ServerSpy.net est un site qui permet de connaitre le status d'un server type Half-Life ou autre (beaucoup d'autre) et de l'afficher dans une page , mais le probleme , l'edition des templates est uniquement limité au changement des couleurs du tableau afficher , comme vous pouvez le voir sur cette page :

http://www.serverspy.net/site/search/server.htm l?a=138.237.164.190:27015&g=0

(il s'agit d'un exemple c'est tout , c'est pas de la pub) !

Donc mon souci etait d arrivé a modifier ce "theme" pour :
- enlever les pubs qui traine dans un premier temps !
- afficher les infos comme bon me semble dans un second temps !

je repete que comme il s'agit d'un service payant , ceci peut etre considere comme du piratage meme si les informations obtenu n'ont pas ete difficile a trouver !!!!!! ATTENTION QUAND MEME ! (de base le service est pas payant en fait , c'est juste le changement de theme du tableau qui l'ai !! Attention donc !!)

donc l'idee c'est d'intercepter les modules javascript qui contient les informations sur le serveur et les affiche dans le tableau ! pour cela , un simple analyse du code source du lien ci dessus permet de determiner que "<SCRIPT LANGUAGE="JavaScript" SRC="http://share1.serverspy.net/cgi-bin/ssPERL.js ?a=138.237.164.190:27015&g=0"></SCRIPT>" est la clef de notre probleme (il affiche le tableau directement sur la page par cette methode donc impossible a editer dans un premier temps)

Solution :
le PHP nous permet d intercepté ces informations et dans faire ce que l'on veut , notament grace a la fonction fopen() , puis avec un fgets de 4096 nous permet de lire le contenu du fichier ligne par ligne !!
il suffit donc de reperer les lignes des informations souhaités et des "couper" les elements des lignes non souhaité !!

Exemple de source donc (je ne vous fait attendre plus longtemps ;) !)

Source

  • <?
  • $file = fopen("http://share1.serverspy.net/cgi-bin/ssPERL.js?a=$ip&g=0", "r");
  • $i=0;
  • while (!feof($file)) {
  • $buffer = fgets($file, 4096);
  • $i = $i + 1;
  • if ($i==83) {
  • $buffer = str_replace("document.write('<TD CLASS=\"TDodd\">","",$buffer);
  • $buffer = str_replace("</TD>');","",$buffer);
  • $map = $buffer;
  • }
  • if ($i==91) {
  • $buffer = str_replace("document.write('<TD CLASS=\"TDodd\">","",$buffer);
  • $buffer = str_replace("</TD>');","",$buffer);
  • $nb_joueur = $buffer;
  • }
  • }
  • echo "<center><font face=verdana size=1><b>$ip</b><br><table><tr><td><font face=verdana size=1><b><u>Nb de joueurs :</u> $nb_joueur</b><br><b><u>Map:</u> $map</b></td></tr></table></font></center>";
  • fclose($file);
  • ?>
<?
$file = fopen("http://share1.serverspy.net/cgi-bin/ssPERL.js?a=$ip&g=0", "r");
$i=0;
while (!feof($file)) {
    $buffer = fgets($file, 4096);
    $i = $i + 1;
    if ($i==83) {
        $buffer = str_replace("document.write('<TD CLASS=\"TDodd\">","",$buffer);
        $buffer = str_replace("</TD>');","",$buffer);
        $map = $buffer;
    }
    if ($i==91) {
        $buffer = str_replace("document.write('<TD CLASS=\"TDodd\">","",$buffer);
        $buffer = str_replace("</TD>');","",$buffer);
        $nb_joueur = $buffer;
    }
}
echo "<center><font face=verdana size=1><b>$ip</b><br><table><tr><td><font face=verdana size=1><b><u>Nb de joueurs :</u> $nb_joueur</b><br><b><u>Map:</u> $map</b></td></tr></table></font></center>";
fclose($file);
?>

 Conclusion

le i represente le numero de la ligne en cours ! donc rien ne vous empeche de remettre un autre if ($i=157) par exemple si c vous chante !

Conclusion
ce petit fichier php permet donc , avec le paramatre ip= dans l url (http://monsite/server.php?ip=123.123.123.123:1234 5) , d analyser un server en utilisant le moteur (qstat) de serverspy.net pour un server type HALFLIFE (g=0 dans la premiere ligne) !!
Je pense que c'est valable uniquement pour Halflife car les lignes du fichier pour les autres serveurs peuvent etre differentes , et donc vous donner des informations "idiotes" !

Dans mon exemple , j'ai juste recuperer le nombre de joueur sur le nombre total permit , ainsi que la map en cours ! le tout afficher dans un petit tableau bien moins encombrant que leur tableau enorme et plein de pub !

Voila Voila
en esperant pouvoir aider plus d'un webmaster ;) ! ++

P.S. :
- il serait peut etre utile donc de rajouter que c'est grace a serverspy.net que les info on ete recupere (a leur insus , je vous l accorde) , style en tout petit ecrit avec un lien , ca peu eviter les pb eventuelles avec eux !
- pour analyser le fichier en question et reperer les lignes contenant les infos , il suffit de telecharger le fichier http://share1.serverspy.net/cgi-bin/ssPERL.js?a=13 8.237.164.190:27015&g=0 (pour ceux server par exemple , changer l ip ou le jeux si necessaire !!) et de reperer les lignes ;) !!
- Si jamais il veulent vraiment empecher ceci , il le pourrait facilement , en changer le theme de base tout les jours par exemple , ce qui nous obligerait a recharger le fichier et rereperer les lignes a nouveau !!


 Sources de la même categorie

MULTIPLIEZ LES TIMERS SUR VOS SCRIPTS PHP ET BENCHEZ FACILEM... par MonkeyIsBack
Source avec Zip Source avec une capture AFFICHER UNE IMAGE SANS IMAGE (GRÂCE AUX URI) par Astalavista
Source avec Zip EXÉCUTER UN SCRIPT PHP EN TANT QUE SERVICE WINDOW par ig3
Source avec Zip Source avec une capture LOGGER LE TEMPS D'EXÉCUTION DE VOS FONCTIONS PHP par djroulo
LA DIFFÉRENCE ENTRE DEUX DATE EN PLUSIEURS FORMATS par nasro81

Commentaires et avis

Commentaire de Viper31 le 30/11/2002 15:18:43

Pour ceux qui ai des noms des joueurs ! a vrai dire , je mis suis pas penché dessus encore ! je voulais juste un petit module pour mon site pour avoir un oeil sur le serveur CS ;) !

Commentaire de ido le 01/12/2002 13:01:52

pourquoi ne pas avoir simplement utilisé la librairie CURL ???
elle sert a ça apres tout :)

Commentaire de Viper31 le 01/12/2002 13:42:29

hu ? c koi ca ?

Commentaire de Neozix le 01/12/2002 17:05:21

En théorie ça à l'air génial, en pratique ça marche trop pas...

Commentaire de ido le 02/12/2002 08:57:20

c une librairie qui permet de faire un navigateur ds une variable...
comme ça tu peux traité l'information directempent et il gere aussi les post et get...

Commentaire de Viper31 le 02/12/2002 13:20:52

Neozix , si tu le veux je peux t'envoyer un fichier qui marche ! d ailleur meme ca ca marche , suffit de pas faire n importe quoi ! (petit exemple pour vous http://snipingsnip.free.fr/v2/ le petit module a gauche sur trois ligne ;) ! )

Commentaire de ido le 03/12/2002 17:22:30

Viper, si tu veux un exemple d'utilisation de CURL, va voir la :
http://artofido.woow-fr.com/script/script/lycos.php3

et pour le code source c'est la :
http://artofido.woow-fr.com/script/source.php3?page=./script/lycos.php3

@+

Commentaire de Viper31 le 05/12/2002 17:30:58

Yeah c sympatoche ca !!! je vais cherche un peu de doc dessus ;)  thx !

Commentaire de aquewel le 14/06/2004 01:43:09

Coment on fait pour faire marcher ce script ca a l'air sympa mais je n'arrive pas a ment servir merci du coup de main

Commentaire de Viper31 le 14/06/2004 02:06:15

bah visiblement , leur facon d afficher les infos d'un serveur n'est plus la meme ....

au bout d'un an et demi quand meme :p

A L occaz , je m'y penche dessus pour mettre a jour ;)

Commentaire de aquewel le 14/06/2004 14:13:28

avec le curl tu pense ke c'est possible ??????????????????????????????????

Commentaire de peoplehard le 01/01/2005 16:15:35

http://www.hostprogess.com/nofrag/cs/index.php?ip=217.174.212.46&port=27016

ip étant l'ip et port le port ^^

Commentaire de darkcyr le 14/03/2005 16:47:07

salut
je suis un noob en prog
(je fais que du html et encore je maitrise pas trop)
j'aimerais faire un equivalent du systeme server spy
j'aurais 2/3 questions a te poser

pourrais tu me contacter sur msn playeronethebest@caramail.com
c'est aussi mon email

allez a +

Commentaire de darkcyr le 14/03/2005 16:57:16

admin please vous pourriez suprimer mon commentaire (enfin les 2 lol) merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales