PHP JSP

Fermé
Jeremdu54 Messages postés 10 Date d'inscription mercredi 22 août 2012 Statut Membre Dernière intervention 3 mars 2013 - Modifié par Jeremdu54 le 1/03/2013 à 11:17
Jeremdu54 Messages postés 10 Date d'inscription mercredi 22 août 2012 Statut Membre Dernière intervention 3 mars 2013 - 3 mars 2013 à 00:51
Bonjour,

Suite a un souci entre mon serveur dédié et mon site je me permet de vous soumettre mon probleme afin d'obtenir de l'aide. Je m'explique. Je suis sur un hebergeurOVh avec mon site web. J'ai inclus des sessions ($_SESSION) j'ai a coté un serveur dédié avec Tomcat postgres java et Apache afin d'avoir une aire de jeu que j'ai pris sur le net. Le soucis et le suivant.J'ai un souci de faille utilisateur(une personne peut prendre le pseudo d'un de mes utilisateur mais pas a mon site.En effet un script doit etre ajouter et ce script qui va suivre en est une partie.) Dans mon dossier example de mon aire de jeu, j'ai un fichier en jsp que je peu retranscrire en php j'ai déjà fais une partie du script mais je reste bloquer pour le reste.
Je vous joint le code en jsp:

<%@ page import="java.net.URLEncoder, java.text.SimpleDateFormat, java.util.Calendar,  
     java.security.MessageDigest, java.security.NoSuchAlgorithmException" %>  
<html>  
<head>  
 <title>Accès à l'aire / Game platform access</title>  
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
</head>  

<body>  
 <h1>Accès à l'aire / Game platform access</h1>  
 <h2>[fr]</h2>  
 <p>Cette page présente un exemple de lancement de l'aire. Cette page ou son équivalent en PHP, ASP, Perl, ...   
 doit être placée sur votre site où les joueurs s'enregistrent, s'identifient, ...<p>  
 <p>La source de cette page présente le programme à implémenter pour calculer l'adresse à activer pour ouvrir l'aire.</p>  
   
 <h2>[en]</h2>  
 <p>This page shows an example to launch the game platform. This page or an quite same one in PHP, ASP, Perl, ...  
 should be placed in your web site where players register, log in, ...<p>  
 <p>The source of this page show the program to implement to compute the URL that open the game platform.</p>  
   
 <%  
  String playerPseudo = "currentPlayer"; // Customize with your logged in user  
  String passPhrase = "passphrase dans configproperties"; // Customize here  
    
  // Code Java  
  String url = "ks362194.team-belote.com:8080"; // Customize with your domain and context  
    
  // servlet name : No customization  
  url = url + "welcomeGame.srv?";  
    
  // Player pseudo / nickname  
  url = url + "Pseudo=" + URLEncoder.encode(playerPseudo, "UTF8"); // Customize playerPseudo  
    
  // Compute the checksum that prevents unknown or illegal users  
  /**  
   * Le principe du calcul est :   
   *   1) Constituer la chaîne avec pseudo + phraseMotDePasse définie dans le properties + La date du moment au format jjmmaaaa  
   *   2) Extraire la signature MD5 de cette chaîne  
   *   3) Convertir chaque octet de la signature en hexa (toujours sur 2 caractères)  
   *   4) la chaine est la somme des signature hexa   
   *  
   * The steps to compute are :   
   *   1) Build a string with pseudo + passPhrase defined in the config.properties + current date with the following format ddmmyyyy  
   *   2) Extract the MD5 checksum  
   *   3) Convert each byte of the checksum to hexo with 2 digits  
   *   4) The string to use is the concatenation of each hexa strings  
   */  
    
  // You can check SecurityBean about this  
  SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyyyy");  
        String msg = playerPseudo   // Customize playerPseudo  
                    + passPhrase   // Customize here  
                    + dateFormat.format(Calendar.getInstance().getTime());   

  // StringBuffer is prefered to String, but String is used to make the code clearer  
        String crcCalc = "";  
        try {  
            MessageDigest md = MessageDigest.getInstance("MD5");  
            md.update(msg.getBytes());  
                  
            byte[] tabDigest = md.digest();  
            for (int i = 0; i < tabDigest.length; i++) {  
                String octet = "0" + Integer.toHexString(tabDigest[i]);  
                   
                // 2 digits only with leading 0  
                crcCalc = crcCalc + octet.substring(octet.length() - 2);  
            }  
        }  
        catch (NoSuchAlgorithmException e) {  
         // KO : pb with MD5  
            e.printStackTrace();  
        }  
          
  // Add the string to the URL  
  url = url + "&id=" + crcCalc;  

  // You're done!!  
 %>  

 <p><a href="<%= url %>">Accès à l'aire / Access to game platform</a></p>  
 <p>Exemple d'URL / URL Example :  
   http://www.game-platform.com/game/welcomeGame.srv?Pseudo=joe&id=0a0b0101010101010101010101010c01</p>  
   
</body>  
</html>  


J'ai déjà fais ceci en fichier php:

$cnxString ="host=x.y.Z port=5432 dbname=database user=users password=mypassword";  
$pgsql_conn = pg_connect($cnxString, PGSQL_CONNECT_FORCE_NEW);  
      $login=$_SESSION['username'];  
      $dns = pg_fetch_array(pg_query('select cdjoueur from joueur'));  
       $id = $dn2+1;  
      if($dns=="0"){   
       $requete="INSERT INTO joueur (cdjoueur,pseudo,avatar,privilege,couleur) VALUES ('".$id."','".$login."','".$avatar."',".$privilege.",'".$couleur."')";  
       $reponserequete= pg_query($pgsql_conn,$requete);  
      }  
      else  
      {  

// Pass dans config.properties  
$conf_pass = "mypassphrase";  

//Execution de la requete  

// URL d'accès a welcomeGame.srv  
$url = "http://ks362194.team-belote.com:8080/belote_1.4/welcomeGame.srv";  

// Contruction de la clef avec md5()  
$key = md5($login.$conf_pass.date("jmY"));  

// TODO : encode login  
// Affichage du lien pour l'accès à l'aire  
echo ("<li><a href='$url?Pseudo=$login&id=$key\'>Acces Belote</a></li>");  
}

ma question est la suivante: Peut -on retranscrire la suite du script en php? me manque t'il déjà quelquechose dans ce que j'ai mis.


A voir également:

1 réponse

Jeremdu54 Messages postés 10 Date d'inscription mercredi 22 août 2012 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 00:51
Up
0