IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Problème d'authentification client sur serveur Apache


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut [résolu] Problème d'authentification client sur serveur Apache
    Bonsoir à tous,

    J'ai bloqué il y a quelques semaines sur ce problème et personne sur le forum Apache n'a réussi à m'aider. Ce forum sur lequel j'ai posté à l'époque n'ayant pas l'air très vivant je me dis que j'aurais peut-être plus de chance sur la section Apache de ces forums-ci, en effet j'imagine qu'il y a bien plus de monde chez vous.
    Je viens de poster mon problème sur un forum PHP (puisque l'application est en PHP) et sur le forum Fedora (puisque le serveur est sous Fedora), je me dis qu'en postant auprès de 3 sortes de spécialistes de différents domaines j'aurais peut-être la chance de débloquer la situation.

    Je suis chargé d'essayer de refaire marcher un jeu qui fonctionnait sur un mode client-serveur, et ce dans l'objectif d'en mettre le code sous GPL.
    En bref, c'est pour la bonne cause, et je pense sincèrement que ce jeu pourrait être une vraie réussite du Libre. En tous cas, en tant qu'ancien joueur je trouve que ce jeu déchirait tout et je vous jure qu'en plus c'est un jeu original.

    Seul problème, nous n'avons récupéré que les sources et pas le serveur en fonction, ainsi il s'agit de tout reconstruire et de deviner parfois le fonctionnement.

    Après pas mal de temps passé dessus, ça a beaucoup avancé, la partie "web" semble entièrement fonctionner, la partie serveur de jeu aussi mais nous bloquons sur une dernière chose (du moins je l'espère parce qu'avec les centaines d'heures déjà passé dessus j'avoue que parfois je sens le découragement pointer...) : L'authentification du client auprès du serveur.

    Contexte :

    -Le jeu tournait sous PHP4, Mysql et Apache 1.3

    -Nous essayons de le faire tourner sur PHP5 et Apache 2 (ce qui explique peut-être ce problème d'"auth failed" mais je n'en sais rien).


    État actuel de notre avancée :

    Site web pleinement fonctionnel, possibilité de télécharger le client (windows, mais il semble possible assez facilement de porter le client sur GNU-Linux si un jour on arrive à faire enfin marcher le serveur), après installation il télécharge bien les patches de mise à jour, parvient à se connecter au serveur de jeu mais ne parvient pas à s'identifier. Les noms et mots de passe des users sont stockés dans Mysql en clair.

    J'ai sniffé les conversations sur le poste windows pour essayer de mieux comprendre ce qui se passe mais je n'arrive pas à trouver de solution.
    Voici les logs :
    10.0.2.15 est le client. 192.168.0.7 est le serveur fedora.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    4	10.0.2.15	192.168.0.7	HTTP	POST /members/login.php HTTP/1.1  (application/x-www-form-urlencoded)
    POST /members/login.php HTTP/1.1.. Content-Type: application/x-www- form-url encoded.
    User-Agent: applicationcenter..Host: center.application.net Content-Length : 16..Cache-Control: no- cache..
    Cookie: PHPSESSID=8780tfvajcbvrvtmoqm901lbs7....&language =french 
    
    5	0.015368	192.168.0.7	10.0.2.15	TCP	http > xingmpeg [ACK] Seq=1 Ack=250 Win=65535 Len=0
    
    6	0.061090	192.168.0.7	10.0.2.15	HTTP	HTTP/1.1 200 OK  (text/html) OK Date: Fri, 08 Jan  2010 17:52:56 G MT..
    Server: Apache/2.2.11 (Fedora)..X-Powered-By : PHP/5.2.11..Expires: Thu, 19 Nov 1981:08:52:00  GMT..
    Cache-Control: no-store, no-cache,must-revalidate, post-check=0,pre-chec k=0..Pragma: no- cache..Content-Length: 54..
    Content-Type:text/ht ml....<?xml version="1.0" encoding="utf-8"?>.<auth_failed/>.         
    
    7	0.074005	10.0.2.15	192.168.0.7	TCP	web2host > http [SYN] Seq=0 Win=64240 Len=0 MSS=1460
    
    8	0.081617	192.168.0.7	10.0.2.15	TCP	http > web2host [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
    
    9	0.081782	10.0.2.15	192.168.0.7	TCP	web2host > http [ACK] Seq=1 Ack=1 Win=64240 Len=0
    
    10	0.084574	10.0.2.15	192.168.0.7	HTTP	POST /applog.php HTTP/1.1  (application/x-www-form-urlencoded)
    POST /applog.php HTTP/1.1.Content -Type: application/x-www-form-urlencoded..User-Agent: applicationcenter..Host: site.application.net.Content-Length:  170..Cache-Cont rol: no-cache... .&submodule=HTTP AuthRequest&module=CApplicationCenterDlg&logname=login%5Ffailed
    &app=center&comment=result+is+a+failed+xml&arg1=nom_user&arg2=NULL&arg3=NULL&version= v2%2E0%2E11              
    
    11	0.088578	192.168.0.7	10.0.2.15	TCP	http > web2host [ACK] Seq=1 Ack=350 Win=65535 Len=0
    
    12	0.123863	192.168.0.7	10.0.2.15	HTTP	HTTP/1.1 200 OK 
    HTTP/1.1 200 OK..Date: Fri, 08 Jan  2010 17:52:56 G MT..Server: Apache/2.2.11 (Fedora)..X-Powered-By : PHP/5.2.11..Content-Length: 0. .Content-Type: text/html      
    
    13	0.187877	10.0.2.15	192.168.0.7	TCP	xingmpeg > http [ACK] Seq=250 Ack=351 Win=63890 Len=0
    
    14	0.279039	10.0.2.15	192.168.0.7	TCP	web2host > http [ACK] Seq=350 Ack=159 Win=64082 Len=0
    Je ne sais pas s'il s'agit d'un problème avec Apache (ce que je pense) ou avec PHP (auquel cas je peux vous poster le code des fichiers appelés par le client, login.php, applog.php). Je peux aussi vous donner une liste des modules activés et un tas d'autres choses, mais ayant peur de vous noyer sous trop d'infos et de n'avoir aucune réponse, j'attends déjà de voir s'il semble y avoir des gens motivés pour m'aider.

    Je suis quelqu'un de très bonne volonté et très motivé, certainement pas du genre à ne pas RTFM ou STFW, mais là ce point dépasse vraiment mes compétences, autant j'ai réussi à m'en sortir sur tout le reste, autant je sèche sur ce problème d'"auth failed", donc toute piste est la bienvenue.

    J'ai plusieurs pistes, dont une qui me parait intéressante ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    comment=result+is+a+failed+xml&arg1=nom_user&arg2=NULL&arg3=NULL
    En effet, l'arg1 comporte bien le nom d'user mentionné, mais le arg2 qui est censé contenir le mot de passe et le 3 censé donné la langue (1 pour français et 2 pour anglais) n'apparaissent pas, ce qui me parait étrange.

    Comme je l'expliquais j'ai plusieurs pistes ou idées (problème d'encodage, etc), j'ai essayé pleins de trucs mais rien ne fonctionne. Donc si une pointure (ou plusieurs, plus on est de fous plus on rit !) acceptait de nous offrir un peu de son temps pour essayer de nous sortir de là et permettre à un nouveau jeu sous GPL de voir le jour, ce serait vraiment la fête

    Merci de m'avoir lu

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    As-tu également regardé dans l'error_log du serveur apache? voir s'il n'y aurait pas d'éventuelles erreurs?

    Pourrais-tu également fournir le code qui gère l'authentification côté serveur?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    L'error log d'Apache ne mentionne rien du tout malheureusement...
    Je vais de ce pas chercher les codes des fichiers php...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pourrais-tu éventuellement passer le loglevel en debug au niveau de l'apache redémarrer apache et refaire un test?


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Citation Envoyé par Mygale1978 Voir le message
    Pourrais-tu éventuellement passer le loglevel en debug au niveau de l'apache redémarrer apache et refaire un test?

    Je viens seulement de voir ta réponse, je regarde de suite.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Il ne me met rien quand j'essaie de me connecter à partir du client.
    En revanche il vient de me mettre ça (peut-être le moment où j'ai fermé le client) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [Sat Jan 09 02:26:51 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4656 for worker proxy:reverse
    [Sat Jan 09 02:26:51 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:26:51 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4656 for (*)
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4657 for worker proxy:reverse
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4657 for (*)
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4658 for worker proxy:reverse
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:26:52 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4658 for (*)
    Au moment où j'ai redémarré Apache il a mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    [Sat Jan 09 02:22:44 2010] [notice] caught SIGTERM, shutting down
    [Sat Jan 09 02:22:46 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Sat Jan 09 02:22:46 2010] [notice] Digest: generating secret for digest authentication ...
    [Sat Jan 09 02:22:46 2010] [notice] Digest: done
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: www.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: game.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: forum.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: downloadbis.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: download.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: center.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: backoffice.application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: application.net
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: admin.application.net
    [Sat Jan 09 02:22:46 2010] [info] APR LDAP: Built with OpenLDAP LDAP SDK
    [Sat Jan 09 02:22:46 2010] [info] LDAP: SSL support available
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4510 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4510 for (*)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4511 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4511 for (*)[Sat Jan 09 02:22:44 2010] [notice] caught SIGTERM, shutting down
     
    [Sat Jan 09 02:22:46 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
     
    [Sat Jan 09 02:22:46 2010] [notice] Digest: generating secret for digest authentication ...
     
    [Sat Jan 09 02:22:46 2010] [notice] Digest: done
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: www.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: game.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: forum.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: downloadbis.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: download.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: center.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: backoffice.application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: application.net
     
    [Sat Jan 09 02:22:46 2010] [debug] util_ldap.c(1977): LDAP merging Shared Cache conf: shm=0x1132e60 rmm=0x1132e90 for VHOST: admin.application.net
     
    [Sat Jan 09 02:22:46 2010] [info] APR LDAP: Built with OpenLDAP LDAP SDK
     
    [Sat Jan 09 02:22:46 2010] [info] LDAP: SSL support available
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4510 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4510 for (*)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4511 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4511 for (*)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4512 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4512 for (*)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4513 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4513 for (*)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4514 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4514 for (*)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4515 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4515 for (*)
     
    [Sat Jan 09 02:22:47 2010] [notice] Apache/2.2.11 (Unix) DAV/2 PHP/5.2.11 configured -- resuming normal operations
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4516 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4516 for (*)
     
    [Sat Jan 09 02:22:47 2010] [info] Server built: Mar 17 2009 09:15:10
     
    [Sat Jan 09 02:22:47 2010] [debug] prefork.c(1001): AcceptMutex: sysvsem (default: sysvsem)
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4517 for worker proxy:reverse
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
     
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4517 for (*)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4512 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4512 for (*)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4513 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4513 for (*)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4514 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4514 for (*)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4515 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4515 for (*)
    [Sat Jan 09 02:22:47 2010] [notice] Apache/2.2.11 (Unix) DAV/2 PHP/5.2.11 configured -- resuming normal operations
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4516 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4516 for (*)
    [Sat Jan 09 02:22:47 2010] [info] Server built: Mar 17 2009 09:15:10
    [Sat Jan 09 02:22:47 2010] [debug] prefork.c(1001): AcceptMutex: sysvsem (default: sysvsem)
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1801): proxy: grabbed scoreboard slot 0 in child 4517 for worker proxy:reverse
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1820): proxy: worker proxy:reverse already initialized
    [Sat Jan 09 02:22:47 2010] [debug] proxy_util.c(1914): proxy: initialized single connection worker 0 in child 4517 for (*)
    Je continue de faire des essais.

    Edit : Après une trentaine de tentatives de connexions, rien n'apparait dans l'error-log

  7. #7
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $user=CheckAuth();
    Pourrais-tu fournir l'implémentation de la fonction CheckAuth() également car je ne la vois pas dans les codes que tu as fournis.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Merci pour cette réponse.

    Donc, voici le login.php appelé en premier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?
    include_once (getenv('SITE_LIB_PATH')."/common.php");
    include_once (getenv('SITE_LIB_PATH')."/lib_xml.php");
    include_once (getenv('SITE_LIB_PATH')."/lib_user.php");
    include_once (getenv('SITE_LIB_PATH')."/lib_keys.php");
    include_once (getenv('SITE_LIB_PATH')."/lib_sitelang.php");
    include_once ("authlib.php");
     
    pt_register('SERVER', 'REQUEST_METHOD');
    pt_register($REQUEST_METHOD,'login','pass','language');
     
     
     
    if ($login && DEV_MODE) //only for development
    {
    	$_SESSION['T_USER']=$login;
    	$_SESSION['T_PASS']=$pass;
    }
     
    $user=CheckAuth();
    $usr_id=$user['usr_id'];
     
    userLog($usr_id,"login","");
     
    $date = date("Y-m-d H:i:s",mktime());
    $query="update {$GLOBALS['T_USER']} set usr_datetime_lastlogin='$date' where usr_id='$usr_id'";
    mysql_query ( $query ) or die( "Bad query: '$query' : ".mysql_error() );
     
    $array="";
    $expiredText=getExpirationWarningText($user,$language);
    if (!$expiredText)
    	$expiredText=getExpiredText($user,$language);
    if ($expiredText)
    	$array=array("expiration_warning" => $expiredText);
     
     
    $xml=new XMLPrinter();
    $xml->header();
    $xml->simpleNode("auth_ok","",$array);
    ?>
    Ce fichier appelle entre autres le common.php que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?
    define("USE_END_SUBSCRIPTION",0);
    define("FREE_MODE",1);
     
    include_once (getenv('SITE_INCLUDE_PATH')."/pathes.php");
    include_once (getenv('SITE_INCLUDE_PATH')."/db.php");
    include_once (getenv('SITE_INCLUDE_PATH')."/version.php");
     
    include_once ("sql_tables.php");
     
    include_once ("sys.php");
    include_once ("lib_sql.php");
    include_once ("lib_lang.php");
    include_once ("lib_log.php");
    include_once ("lib_properties.php");
    ?>
    Tous les fichiers appelés dans le common.php semblent fonctionner parfaitement puisque la totalité du site et des autres applications fonctionnent.

    Voici aussi le lib_xml.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?
     
    class XMLPrinter
    {
    	//public part
     
    	function XMLPrinter()
    	{
    		$this->encoding="ISO-8859-1";
    		$$this->stack=array();
    	}
     
    	function header()
    	{
    		echo "<?xml version=\"1.0\" encoding=\"$this->encoding\"?>\n";
    	}
     
    	function pushNode($nodename,$attributes="")
    	{
    		echo $this->spaces()."<$nodename".$this->args2string($attributes).">\n";
    		$this->push($nodename);
    	}
     
    	function popNode($nodename)
    	{
    		$stacknode=$this->pop();
    		if ($stacknode!=$nodename)
    		{
    			$this->error("XmlPrinter: Poping Node: expecting '$stacknode' instead of '$nodename'");
    		}
    		echo $this->spaces()."</$nodename>\n";
    	}
     
    	function simpleNode($node,$value,$attributes="")
    	{
    		echo $this->spaces()."<$node".$this->args2string($attributes).">".$this->encode($value)."</$node>\n";
    	}
     
    	//private part
     
    	var $stack;
    	var $encoding;
     
    	function stackSize()
    	{
    		return count($this->stack);
    	}
     
    	function push($node)
    	{
    		$this->stack[$this->stackSize()]=$node;
    	}
     
    	function pop()
    	{
    		if ($this->stackSize()==0)
    		{
    			$this->error("XmlPrinter: Stack is empty");
    		}
    		$node=$this->stack[$this->stackSize()-1];
    		unset($this->stack[$this->stackSize()-1]);
    		return $node;
    	}
     
    	function args2string($args)
    	{
    		if (!$args)
    			return;
     
    		foreach ($args as $arg => $value)
    		{
    			$str .= " $arg=\"".$this->encode($value)."\"";
    		}
     
    		return $str;
    	}
     
    	function spaces()
    	{
    		$nb=$this->stackSize();
    		for ($i=0; $i<$nb; $i++)
    		{
    			$str .= "    ";
    		}
    		return $str;
    	}
     
    	function error($msg)
    	{
    		$stacktrace=debug_backtrace();
    		foreach ($stacktrace as $call)
    		{
    			$file=$call['file'];
    			if (!strpos($file,"lib_xml.php"))
    			{
    				$line=$call['line'];
    				trigger_error("(called from $file:$line) $msg", E_USER_ERROR);
    				exit();
    			}
    		}
    	}
     
    	function encode($str)
    	{
    		return htmlspecialchars($str);
    	}
    }
     
    ?>
    Je le mets car je me demande si ce ne serait pas juste une question d'encodage puisque ce fichier mentionne ISO-8859-1 alors que l'erreur mentionne de l'UTF-8

    Le fichier lib_user.php est plutôt volumineux et pas forcément d'actualité concernant tous les points (de même que le fichier keys.php) en effet à la fin le jeu était gratuit et ne tenait plus compte des clés ou des niveaux il me semble...

    En espérant que ça vous aide à trouver des pistes.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Edit final :
    La conclusion c'est que je pense que tu as raison _Mac_, le problème vient clairement du fait que SERVER['PHP_AUTH_USER'] n'est pas activé.
    Reste à savoir comment l'activer, car j'aimerais réussir à garder le code original vu qu'après le client continue d'envoyer arg1 et arg2 sur d'autres requêtes quand il tente de se connecter au serveur de jeu.
    J'ai cherché une bonne partie de la nuit et de la matinée comment on pouvait l'activer mais je n'ai pas réussi à trouver comment faire, tout comme je n'ai aucune certitude concernant le fait que php tourne en module ou pas chez moi.
    phpinfo me donne ça :
    Server API Apache 2.0 Handler
    Les seules mentions à CGI qu'il y ait dans le phpinfo sont
    GATEWAY_INTERFACE CGI/1.1
    _SERVER["GATEWAY_INTERFACE"] CGI/1.1
    ainsi que le fait que le mod_cgi est actif. Donc je crois comprendre que php est utilisé comme module, mais je ne suis pas sûr.

    Mon post de cette nuit :
    Concernant le dump de $_POST il ne me retourne rien, ce qui me semble un peu inquiétant non ?
    Ce qui explique (j'imagine) que ça ne fonctionne pas en utilisant $_POST["arg1"] à la place de $_SERVER['PHP_AUTH_USER'] (et $_POST["arg2"] à la place de $_SERVER['PHP_AUTH_PW'])

    Le print_r ($_SERVER); montre clairement que je n'ai pas de variable PHP_AUTH_USER de dispo.

    Par contre si je mets directement mes identifiants dans le fichier en mettant $login=nomutilisateur et pareil pour le mot de passe, le client arrive à se connecter, ce qui est déjà une bonne nouvelle ^^ (on se console comme on peut !). Le problème c'est qu'ensuite j' ai un problème de connexion au serveur de jeu, je pense que c'est du au fait que j'ai truandé mon identification et que les variables dont il a besoin n'existent pas.


    Une autre piste, tu dis que ce problème n'est pas dépendant d'une version d'Apache, est-ce que ça pourrait être du à une version de php ? L'ancien site utilisait php4 tandis que je le fais tourner sur php5.


    En espérant que j'arrive un jour à me débrouiller pour que ça finisse par fonctionner, je ne compte plus les dizaines d'heures passés sur l'engin...

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Super pas logique que $_POST soit vide.

    Peux-tu faire une capture complète côté client avec Wireshark de la séquence de login avec la réponse du serveur contenant un dump de $_POST et de $_SERVER ? Envoie-moi le lien par MP, j'examinerai la trace pour voir si la requête faite par le client est une requête POST conforme : si elle est non conforme, ça expliquerait que $_POST est vide.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Cool, merci beaucoup pour ta persévérance

    Alors voici ce que m'a sniffé wireshark côté client (192.168.0.8) :

    Je l'ai nettoyé pour qu'il soit plus visible, mais je t'envoie quand même la totale par mp si tu penses que ça peux t'aider.

    Encore merci à toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    No.     Time        Source                Destination           Protocol Info
          4 0.016491    192.168.0.8           192.168.0.7           HTTP     POST /members/login.php HTTP/1.1  (application/x-www-form-urlencoded)
     
    Transmission Control Protocol, Src Port: isoipsigport-1 (1106), Dst Port: http (80), Seq: 1, Ack: 1, Len: 249
    Hypertext Transfer Protocol
    Line-based text data: application/x-www-form-urlencoded
        &language=french
     
    No.     Time        Source                Destination           Protocol Info
          7 0.095500    192.168.0.7           192.168.0.8           HTTP     HTTP/1.1 200 OK  (text/html)
     
    Internet Protocol, Src: 192.168.0.7 (192.168.0.7), Dst: 192.168.0.8 (192.168.0.8)
    Transmission Control Protocol, Src Port: http (80), Dst Port: isoipsigport-1 (1106), Seq: 1461, Ack: 250, Len: 59
    [Reassembled TCP Segments (1519 bytes): #6(1460), #7(59)]
    Hypertext Transfer Protocol
    Line-based text data: text/html
        <?xml version="1.0" encoding="utf-8"?>\n
        <auth_failed/>\n
        Array\n    //////////ça c'est le $_POST////////////////
        (\n
    //////////puis le $_SERVER
            [CONTENT_TYPE] => application/x-www-form-urlencoded\n
            [HTTP_USER_AGENT] => applicationcenter\n
            [HTTP_HOST] => center.application.net\n
            [CONTENT_LENGTH] => 16\n
            [HTTP_CACHE_CONTROL] => no-cache\n
            [HTTP_COOKIE] => PHPSESSID=2992tngr83t1919velh4ep5d26\n
            [PATH] => /sbin:/usr/sbin:/bin:/usr/bin\n
            [SERVER_SIGNATURE] => <address>Apache/2.2.11 (Fedora) Server at center.application.net Port 80</address>\n
        \n
            [SERVER_SOFTWARE] => Apache/2.2.11 (Fedora)\n
            [SERVER_NAME] => center.application.net\n
            [SERVER_ADDR] => 192.168.0.7\n
            [SERVER_PORT] => 80\n
            [REMOTE_ADDR] => 192.168.0.8\n
            [DOCUMENT_ROOT] => /app1/application.net/center/html/site\n
            [SERVER_ADMIN] => root@localhost\n
            [SCRIPT_FILENAME] => /app1/application.net/center/html/site/members/login.php\n
            [REMOTE_PORT] => 1106\n
            [GATEWAY_INTERFACE] => CGI/1.1\n
            [SERVER_PROTOCOL] => HTTP/1.1\n
            [REQUEST_METHOD] => POST\n
            [QUERY_STRING] => \n
            [REQUEST_URI] => /members/login.php\n
            [SCRIPT_NAME] => /members/login.php\n
            [PHP_SELF] => /members/login.php\n
            [REQUEST_TIME] => 1266610857\n
            [argv] => Array\n
                (\n
                )\n
        \n
            [argc] => 0\n
        )\n
        Array\n
        (\n
            [language] => french\n
        )\n
     
     
    No.     Time        Source                Destination           Protocol Info
         14 0.127410    192.168.0.8           192.168.0.7           HTTP     POST /applog.php HTTP/1.1  (application/x-www-form-urlencoded)
     
    Transmission Control Protocol, Src Port: isoipsigport-2 (1107), Dst Port: http (80), Seq: 1641, Ack: 1, Len: 585
    [Reassembled TCP Segments (2225 bytes): #12(180), #13(1460), #14(585)]
    Hypertext Transfer Protocol
    Line-based text data: application/x-www-form-urlencoded
        [truncated] &submodule=HTTPAuthRequest&module=CApplicationCenterDlg&logname=xml%5Fparse%5Ffailed&app=center&comment=%27%3C%3Fxml+version%3D%221%2E0%22+encoding%3D%22utf%2D8%22%3F%3E%0A%3Cauth%5Ffailed%2F%3E%0AArray%0A%28%0A++++%5BCONTENT%5FTYPE%5D+%3D%3E+a pplication%2Fx%2 Dwww%2Dform%2Dur lencoded%0A++++% 5BHTTP%5FUSER%5F AGENT%5D+%3D%3E+ applicationcenter% 0A++++%5BHTTP%5F HOST%5D+%3D%3E+c enter%2Eastronoi d%2Enet%0A++++%5 BCONTENT%5FLENGT H%5D+%3D%3E+16%0 A++++%5BHTTP%5FC ACHE%5FCONTROL%5 D+%3D%3E+no%2Dca che%0A++++%5BHTT P%5FCOOKIE%5D+%3 D%3E+PHPSESSID%3 D2992tngr83t1919 velh4ep5d26%0A++ ++%5BPATH%5D+%3D %3E+%2Fsbin%3A%2 Fusr%2Fs
    bin%3A%2 Fbin%3A%2Fusr%2F bin%0A++++%5BSER VER%5FSIGNATURE% 5D+%3D%3E+%3Cadd ress%3EApache%2F 2%2E2%2E11+%28Fe dora%29+Server+a t+center
    %2Eapplication%2Enet+Port+ 80%3C%2Faddress% 3E%0A%0A++++%5BS ERVER%5FSOFTWARE %5D+%3D%3E+Apach e%2F2%2E2%2E11+% 28Fedora%29%0A++ ++%5BSERVER%5FNA ME%5D+%3D%3E+cen ter%2Eapplication% 2Enet%0A++++%5BS ERVER%5FADDR%5D+ %3D%3E+192%2E168 %2E0%2E7%0A++++% 5BSERVER%5FPORT% 5D+%3D%3E+80%0A+ +++%5BREMOTE%5FA DDR%5D+%3D%3E+19 2%2E1682E0%2E8% 0A++++%5BDOCUMEN T%5FROOT%5D+%3D% 3E+%2Fapp1%2Fast ronoid%2Enet%2Fc enter%2Fhtml%2Fs ite%0A++++%5BSER VER%5FADMIN%5D+% 3D%3E+root%40loc alhost%0A++++%5B SCRIPT%5FFILENAM E%5D+%3D%3E+%2Fa pp1%2Fapplication% 2Enet%2Fcenter%2 Fhtml%2Fsite%2Fm embers%2Flogin%2 Ephp%0A++++%5BRE MOTE%5FPORT%5D+% 3D%3E+1106%0A+++ +%5BGATEWAY%5FIN TERFACE%5D+%3D%3 E+CGI%2F1%2E1%0A ++++%5BSERVER%5F PROTOCOL%5D+%3D% 3E+HTTP%2F1%2E1% 0A++++%5BREQUEST %5FMETHOD%5D+%3D %3.E+ POST%0A++++%5BQU ERY%5FSTRING%5D+ %3D%3E+%0A++++%5 BREQUEST%5FURI%5 D+%3D%3E+%2Fmemb ers%2Flogin%2Eph p%0A++++%5BSCRIP T%5FNAME%5D+%3D% 3E+%2Fmembers%2F login%2Ephp%0A++ ++%5BPHP%5FSELF% 5D+%3D%3E+%2Fmem bers%2Flogin%2Ep hp%0A++++%5BREQU EST%5FTIME%5D+%3 D%3E+1266610857% 0A++++%5Bargv%5D +%3D%3E+Array%0A +++++++%28%0A++ ++++++%29%0A%0A+ +++%5Bargc%5D+%3 D%3E+0%0A%29%0AA rray%0A%28%0A+++ +%5Blanguage%5D+ %3D%3E+french%0A %29%0A%27%0AErro r%3A+Error+0xC00 CE556+on+line+2% 2C+position+15%0 D%0AReason%3A+Non+valide+au+nive au+sup%E9rieur+d u+document%2E%0D %0A&arg1=nomuser& arg2=NULL&arg3=N ULL&version=v2%2 E0%2E11
    Je t'ai envoyé les mps, mais je ne suis pas sûr qu'ils soient bien partis, si ce n'est pas le cas, dis-le moi pour que je t'envoie le fichier.

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par Titooun Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Line-based text data: application/x-www-form-urlencoded
        &language=french
    Le client ne transmet que le paramètre de langue (language) et pas du tout arg1, arg2 et arg3. Il faut voir pourquoi. C'est ça le problème.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 26
    Par défaut
    Mince, je n'avais pas vu que tu avais répondu puisqu'on a discuté un peu par mp.

    Partant de ta conclusion, j'aurai une petite question :

    Si je ne sniffe rien d'autre de sortant sur l'ordi du client, peut-on être 100% catégorique pour dire que le client n'envoie pas une requête correcte et donc que le client que j'ai récupéré ne fonctionne pas ? Ce qui voudrait dire que les fichiers que j'ai récupéré ont été modifiés pour ne pas fonctionner en l'état. Ça me surprend un peu car j'ai aussi essayé avec d'autres versions antérieures du client et le résultat est le même.

    N'y-t-il vraiment aucune possibilité pour que l'authentification se fasse autrement sans qu'on le voit sur ma trace wireshark ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/07/2010, 08h59
  2. Problème avec Blast sur serveur Apache local
    Par jobim08 dans le forum Apache
    Réponses: 6
    Dernier message: 20/02/2009, 10h19
  3. Config de dossier partage sur serveur Apache
    Par totonono dans le forum Apache
    Réponses: 8
    Dernier message: 25/07/2006, 13h00
  4. scripts cgi sur serveur apache
    Par jejerome dans le forum Apache
    Réponses: 1
    Dernier message: 26/02/2006, 18h10
  5. Sécurité sur serveur apache
    Par Beaunico dans le forum Apache
    Réponses: 8
    Dernier message: 13/04/2004, 07h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo