begin process at 2012 05 31 05:58:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

[PHP] Problème de sécurisation de page.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[PHP] Problème de sécurisation de page.

dimanche 17 octobre 2010 à 20:01:45 | [PHP] Problème de sécurisation de page.

sarahjtm

Bonjour,

Je vous explique mon problème en essayant d'être le plus compréhensible.

Je dispose d'un script Allopass (qui permet d'acheter un code), ce script Allopass, redirige, si le code est bon, sur une autre page où est donné le code (page payante donc).

Cette page payante, améliore également le Statut du membre qui l'achète
(Membre -> Membre V.I.P), ainsi qu'un historique d'achats, avec le code.

J'ai donc, tranquillement insérer le script de protection que fourni Allopass, pour ce qui est du code aucun problèmes, Allopass me redirige vers une page d'erreur si j'essaie d'accéder directement à cette page, ou si le code est mauvais.
Mais le problème, c'est que ce script allopass ne me BLOQUE PAS l'exécution de mes scripts php.

Donc l'utilisateur peut aller sur ma page payante directement, le code ne lui sera pas donner, mais les scripts vont quand même s'exécuter, donc l'utilisateur va se retrouver Membre V.I.P avec le code dans ses historiques d'achat, même si son code n'est pas bon, ou qu'il accède directement. (puis il va être redirigé vers une page d'erreur)

Je précise que j'ai bien placé le script de protection AVANT les scripts PHP.

C'est vraiment très agacent.

Donc ma question est :

- Comment bloquer l'exécution d'un script PHP sur une page "payante" qui ne peut être accessible que si le code est bon ? (Parce que là vous avez juste à aller sur www.monsite.fr/codeVIP.php, et vous serez Membre V.I.P avec le code, sans rien avoir payer.)

Cordialement,
SoGeek,
en espérant qu'une âme charitable viennent s'intéresser à ce sujet.
dimanche 17 octobre 2010 à 22:46:22 | Re : [PHP] Problème de sécurisation de page.

neigedhiver

Salut,

Sans voir une seule ligne de code, c'est pas évident de répondre...
Et puis ton histoire de code n'est pas très claire. On donne le code allopass pour avoir un code ? Je comprends pas bien.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 17 octobre 2010 à 23:03:22 | Re : [PHP] Problème de sécurisation de page.

sarahjtm

Bonsoir,
Pour ce qui est du code j'utilise simplement le script de paiement iframe d'allopass, et sur ma page où l'on obtient le code (page payante qui doit etre sécurisée donc) le script de protection que fourni allopass de base, en fait l'utilisateur doit payer 1 allopass (sur la page ou se trouve l'iframe d'allopass donc) pour accéder donc a la page payante (qui doit etre sécurisée en cas de non paiement, ce qui n'est pas le cas car donc, même si l'utilisateur accéde directement a la page ou est donne le code (payante) il sera donc rediriger vers la page d'erreur allopass, mais les scripts vont quand même s'exécuter, il se retrouvera donc membre vip sans rien n'avoir payer).
Bonne soirée à toi,
Et merci de t'intéresser a ce sujet
Cordialement,
dimanche 17 octobre 2010 à 23:16:29 | Re : [PHP] Problème de sécurisation de page.

neigedhiver

Je suis désolé, mais sans code, vraiment, il n'est pas facile de t'aider.
Je ne connais pas le code d'Allopass et n'ai pas l'intention d'aller chercher. Je veux bien aider, chercher, tout ça, mais à toi de me donner les éléments nécessaires.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
lundi 18 octobre 2010 à 17:05:12 | Re : [PHP] Problème de sécurisation de page.

sarahjtm

Salut,
voici les codes de ma page (où l'on paye pour accéder a la page payante)

Code PHP :
<?php
session_start();

if(!empty($_POST))
{
  $valid = true;
  extract($_POST);
  
  if(empty($login))
  {
    $valid = false;
    $erreurlogin = 'Indiquez votre login';
  }
  
  if(empty($pass))
  {
    $valid = false;
    $erreurpass = 'Indiquez votre mot de passe';
  }
  
  if($valid)
  {
try 
    {
        $bdd = new PDO('mysql:host=db2754.1and1.fr;dbname=db341723991', 'dbo341723991', 'azeqsdwxc') or die(print_r($bdd->errorInfo()));
        $bdd->exec('SET NAMES utf8');
    }
    
    catch(Exeption $e){
        die('Erreur :' .$e->getMessage());
        
    }
  
  $req = $bdd->prepare('SELECT * FROM membre WHERE login=:login AND pass=:pass');
  $req->execute(array(
    'login'=>$login,
    'pass'=>sha1($pass)
  ));
  $data = $req->fetch();
  if($req->rowCount()==0)
  {
    $valid = false;
    $erreurid = 'Identifiants incorrects';
  }
  
  if($req->rowCount()>0 && $data['actif']==0)
  {
    $valid = false;
    $erreurid1 = 'Votre compte n\'est pas actif, consultez le mail envoyé pour l\'activer.';
  }
  else
  {
    if($req->rowCount()>0 && $data['actif']==1)
    {
      $_SESSION['membre'] = $login;
    }
  }
    
    $req->closeCursor();
    if($valid)
    {
      header('Location: VIPGETCV3.php');
    }
  
  
  }
  
}

    $redirect = 'VIPGETCV3.php'
  
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Team SkyZen</title>         
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<meta http-equiv="content-language" content="fr" />
<link href="style.css"    title="Défaut" rel="stylesheet" type="text/css" media="screen" /> 
<link rel="shortcut icon" href="favicon.ico" >
<link rel="icon" href="animated_favicon.gif" type="image/gif" >
</head>
<body>    

<div id="conteneur">
  <p><a href="index.php"><img src="images/titre.png" alt="" width="800"/></a>
  
  <body style="overflow: auto;" onload="setHover('menu');">
<ul class="menu">
<li><a href="index.php">Accueil</a></li>
  <li><a href="logiciels.php">Logiciels</a></li>
<li><a href="download.php">T&eacute;l&eacute;chargements</a></li>
  <li><a href="contact.php">Contactez-nous</a></li>
  <li><a href="videos.php">Vid&eacute;os</a></li>
  <li><a href="teamskyzen.php">Team SkyZen</a></li>
  <li><a href="FAQ.php">F.A.Q</a></li>
  <li><a href="http://forum.team-skyzen.fr">Forum</a></li>
    <li class="current"><a href="VIP.php">Onglet V.I.P</a></li>
      <li><a href="Donate.php">Dons</a></li>
</ul>




<p>
<?php include('menus.php'); ?>
</p>
<p>&nbsp; </p>
<div id="header">
  
  
  
</div>
<!-- Header -->
<div id="contenu"><!-- CONTENU -->    

<?php include('ColonneG.php') ?>

<div id="right">
  
  <div class="cadre_fond"></div>
  <div class="cadre_haut">
    
    
</div><div class="cadre_fond"><!-- CADRE -->

    
    <?php
  if(empty($_SESSION['membre']))
  {
      ?>
      Vous devez être <a href="login.php">connect&eacute;</a> et/ou <a href="inscription.php">inscrit</a> pour pouvoir acheter l'onglet V.I.P, pour beneficier AUSSI des avantages sur votre compte.
      <?php
  }
  else
  {
      ?>

<table border="0" width="436" height="411" style="border: 1px solid #E5E3FF;" cellpadding="0" cellspacing="0">
 <tr>
  <td colspan="2" width="436">
   <table width="436" border="0" cellpadding="0" cellspacing="0">
    <tr height="27">
     <td width="127" align="left" bgcolor="#D0D0FD">
      <a href="http://www.allopass.com/" target="_blank"><img src="http://payment.allopass.com/imgweb/common/access/logo.gif" width="127" height="27" border="0" alt="Allopass"></a>
     </td>
         <td width="309" align="right" bgcolor="#D0D0FD">
      <font style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000084; font-style : none; font-weight: bold; text-decoration: none;">
       Solution de micro paiement sécurisé<br>Secure micro payment solution
      </font>
     </td>
    </tr>
    <tr height="30">
     <td colspan="2" width="436" align="center" valign="middle" bgcolor="#F1F0FF">
      <font style="font-family: Arial, Helvetica, sans-serif; font-size: 9px; color: #000084; font-style : none; font-weight: bold; text-decoration: none;">
       Pour acheter ce contenu, insérez le code obtenu en cliquant sur le drapeau de votre pays      </font>
      <br>
      <font style="font-family: Arial, Helvetica, sans-serif; font-size: 9px; color: #5E5E90; font-style : none; font-weight: bold; text-decoration: none;">
       To buy this content, insert your access code obtained by clicking on your country flag
      </font>
     </td>
    </tr>
        <tr height="2"><td colspan="2" width="436" bgcolor="#E5E3FF"></td></tr>
   </table>
  </td>
 </tr>
 <tr height="347">
  <td width="284">
   <iframe name="APsleft"  width="284" height="347" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://payment.allopass.com/acte/scripts/iframe/left.apu?ids=232877&amp;idd=917891&amp;lang=fr"></iframe>
  </td>
  <td width="152">
   <iframe name="APsright" width="152" height="347" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://payment.allopass.com/acte/scripts/iframe/right.apu?ids=232877&amp;idd=917891&amp;lang=fr"></iframe>
  </td>
 </tr>
 <tr height="5"><td colspan="2" bgcolor="#D0D0FD" width="436"></td></tr>
</table>
    <p>&nbsp;</p>
    <?php
    }
  ?>
</div>
<div class="cadre_fond">
  <p>&nbsp;</p>
</div>
<div class="cadre_bas"></div><!-- FIN CADRE --> 
        
</div><!-- FIN COLONNE DE DROITE -->
 
<div id="clear"></div><!-- NE PAS SUPPRIMER -->     
</div><!-- FIN CONTENU --> 

<div id="pied"></div><!-- PIED -->
</div><!-- FIN GLOBAL -->      
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->
<div class="copyright"><?php include('copyright.php'); ?></div>
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->    
</body>
</html>


Et voici le code source de la page où on obtient le code (page payante)

Code PHP :
<?php
session_start();

$nom = $_SESSION['membre'];
    try 
    {
        $bdd = new PDO('mysql:host=db2754.1and1.fr;dbname=db341723991', 'dbo341723991', 'azeqsdwxc') or die(print_r($bdd->errorInfo()));
        $bdd->exec('SET NAMES utf8');
    }
    
    catch(Exeption $e){
        die('Erreur :' .$e->getMessage());
        
    }
    
$req = $bdd->prepare('SELECT * FROM membre WHERE login=:login');
$req->execute(array('login'=>$_SESSION['membre']));
$data = $req->fetch();
$req->closeCursor();

    
    if(!empty($_POST))
{
  $valid = true;
  extract($_POST);
  
  if(empty($login))
  {
    $valid = false;
    $erreurlogin = 'Indiquez votre login';
  }
  
  if(empty($pass))
  {
    $valid = false;
    $erreurpass = 'Indiquez votre mot de passe';
  }
  
  if($valid)
  {
try 
    {
        $bdd = new PDO('mysql:host=db2754.1and1.fr;dbname=db341723991', 'dbo341723991', 'azeqsdwxc') or die(print_r($bdd->errorInfo()));
        $bdd->exec('SET NAMES utf8');
    }
    
    catch(Exeption $e){
        die('Erreur :' .$e->getMessage());
        
    }
  
  $req = $bdd->prepare('SELECT * FROM membre WHERE login=:login AND pass=:pass');
  $req->execute(array(
    'login'=>$login,
    'pass'=>sha1($pass)
  ));
  $data = $req->fetch();
  if($req->rowCount()==0)
  {
    $valid = false;
    $erreurid = 'Identifiants incorrects';
  }
  
  if($req->rowCount()>0 && $data['actif']==0)
  {
    $valid = false;
    $erreurid1 = 'Votre compte n\'est pas actif, consultez le mail envoyé pour l\'activer.';
  }
  else
  {
    if($req->rowCount()>0 && $data['actif']==1)
    {
      $_SESSION['membre'] = $login;
    }
  }
    
    $req->closeCursor();
    if($valid)
    {
      header('Location: VIPGETCV3.php');
    }
  
  
  }
  
}
    $redirect = VIPGETCV3.php;
  
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>

// PROTECTION ALLOPASS

<noscript><meta http-equiv="Refresh" content="0;url=https://payment.allopass.com/error.apu?ids=232877&idd=917891"></noscript>
<script type="text/javascript" src="https://payment.allopass.com/api/secure.apu?ids=232877&idd=917891"></script>

// PROTECTION ALLOPASS

<title>Team SkyZen - Obtenir le mot de passe de l'onglet V.I.P de CrashServer3</title>         
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<meta http-equiv="content-language" content="fr" />
<link href="style.css"    title="Défaut" rel="stylesheet" type="text/css" media="screen" /> 
<link rel="shortcut icon" href="favicon.ico" >
<link rel="icon" href="animated_favicon.gif" type="image/gif" >

</head>
<body>    

<div id="conteneur">
  <p><a href="index.php"><img src="images/titre.png" alt="" width="800"/></a>  
  <p>
    </p>
  <?php include('menu.php'); ?>
  <p>
    <?php include('menus.php'); ?>
</p>
<p>&nbsp; </p>
<div id="header">
  
  
  
</div>
<!-- Header -->
<div id="contenu"><!-- CONTENU -->    

<?php include('ColonneG.php') ?>

<div id="right">
  
  <div class="cadre_fond"><!-- CADRE --></div>
  <div class="cadre_haut">
    
    
</div><div class="cadre_fond"><!-- CADRE -->
  <p>&nbsp;</p>
  <p><span></p>
  <center>
    <h2><a href="VIPGETCV3.php">Obtenir le mot de passe de l'onglet V.I.P</a></h2>
    <p>&nbsp;</p>
    <p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
  </center>
  <p><center>Merci d'avoir achet&eacute; l'onglet V.I.P.</center></p>
  <p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
  <p>&nbsp;</p>
  <h2>Votre mot de passe de l'onglet V.I.P est :</h2>
  <p>&nbsp;</p>
  <h5>Generate a password ...</h5>
  <h5>Check account ...</h5>
  <h5>Update account ...</h5>
  <p>&nbsp;</p>
  <h2><b><font color=red>g4g5er4g7r8g</font></b></h2>
  <p>&nbsp;</p>
  <p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
  <p>&nbsp;</p>
  <p><font color=red>ATTENTION</font> : Merci de ne pas donner ce mot de passe &agrave; n'importe qui, si vous donnez ce mot de passe &agrave; une personne, et que cette personne rentre le MEME code que vous dans son CrashServer v.3.0 VOS DEUX logiciels seront <font color=red>bannis &agrave; vie</font>. (Les mots de passe g&eacute;n&eacute;r&eacute;s sont du genre : <font color=red>X54X5e4g5G4gr5h7rR</font>, donc aucunes plaintes ne sera accept&eacute;e en cas de bannissement de logiciels.)</p>
  <p>&nbsp;</p>
  <p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
  <p>Vous &ecirc;tes pass&eacute; du statut <?php
   
    
    if ($data['statut']==0)
    {
        
echo 'Membre à Membre V.I.P';
        
    }
    
    if ($data['statut']==1)
    {
           echo 'Membre V.I.P à Membre V.I.P Premium.';
    }

    if ($data['statut']==2)
    {

echo 'Membre V.I.P Premium à Membre V.I.P Premium (+).';

        
        
    }    
    ?></p>
  <p>&nbsp;</p>

  <p><a href="index.php">Retourner &agrave; l'accueil</a></p>
  <p>&nbsp;</p>
  <p><a href="logout.php">Se d&eacute;connecter</a></p>
  <p>&nbsp;</p>
  <p><a href="profil.php">Modifier votre profil</a></p>
  <p>&nbsp;</p>
</div>
<div class="cadre_fond"> </div>
<div class="cadre_bas"></div><!-- FIN CADRE --> 
        
</div><!-- FIN COLONNE DE DROITE -->
 
<div id="clear"></div><!-- NE PAS SUPPRIMER -->     
</div><!-- FIN CONTENU --> 

<div id="pied"></div><!-- PIED -->
</div><!-- FIN GLOBAL -->      
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->
<div class="copyright"><?php include('copyright.php'); ?></div>
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->    
</body>
</html>


Cordialement,
SoGeek,
Et bonne soirée à toi !
lundi 18 octobre 2010 à 20:09:20 | Re : [PHP] Problème de sécurisation de page.

Nort0n




Hello,

Je prends le sujet en route, sans trop avoir analysé le code (je l'avoue).

Dans un premier temps, j'espère pour toi que les identifiants de connexion à MySQL ne sont pas les bons sinon tu risques d'avoir des surprises.


Ensuite, concernant ton problème, je pense qu'un exit() bien placé devrait arranger tout ça.


Cette discussion est classée dans : script, page, code, php, allopass


Répondre à ce message

Sujets en rapport avec ce message

Supprimer le code PHP d'une page [ par MadM@tt ] Re-Bonjour à tous (désolé en ce moment j'ai plein de questions ) Je voudrais savoir comment faire débarrasser une page web de tout script PHP (et mem Protection avec Allopass [ par piep14 ] Bonjour a tous !!! Dnc voici mon problème : Je souhaite que a partir de mon site, les utilisateurs puissent ajouter leur banniere en contribution d'u problème page suivante en php [ par delfti ] hello, c'est re-moi, je suis maintenant sur mon moteur de recherche et j'ai un p'tit problème de limite suivante pour page suivante primo, il capte p probleme d'affichage de code sur une page PHP d'un formulaire ... [ par bentos ] Bonjour a tous je vais faire vite ...j'ai un gros souci sur un code PHP d'un site web et j'arrive pas a le reglé [^^confus2] le probleme, c'est qu Recuperation de variable [ par lilyy59 ] Bonjour je voudrai uploader des images pour ensuite les rappeler sur un autre page mais je voudrais que ces images porte le nom de la variable défini Garder les valeurs de mes tableaux quand je rafaraichit ma page [ par Varkan ] Bonjour à tous ! Je fais actuellement mon Memory, avec différentes tableaux en php qui contiennent des numéros aléatoires et avec cela je met mes ima URL Rewriting avec WAMP [ par DjTeush ] Bonjour, j'ai un problême. J'ai créé un site décomposé en php. [code=php] <?php // On définit la page index.php if (empty($_GET['page'])) { $_GET Problème avec tâche planifiée Windows [ par m_abdlmalek ] Bonjour, Je souhaite lancer sur mon site un script PHP régulièrement (chaque jour exactement) à 00h00 et en Mode Admin (c'est à dire le lancer par le Extraire un cours de devise d'une page [ par m_abdlmalek ] Bonjour les amis, J'utilise ce code pour récupérer un texte sur une page : [url=http://www.lematin.ma/Actualite/Bourse/Devise.asp]http://www.lematin. Lancer un exe [ par Sinsitrus ] Salut à tous ! Voilà, j'ai fais un logiciel en VB6 et je souhaiterai le faire installer depuis une page php lorsque celui-ci exécutera ce code : [co


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,406 sec (4)

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