Accueil > Forum > > > > [PHP] Problème de sécurisation de page.
[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éléchargements</a></li>
<li><a href="contact.php">Contactez-nous</a></li>
<li><a href="videos.php">Vidé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> </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é</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&idd=917891&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&idd=917891&lang=fr"></iframe>
</td>
</tr>
<tr height="5"><td colspan="2" bgcolor="#D0D0FD" width="436"></td></tr>
</table>
<p> </p>
<?php
}
?>
</div>
<div class="cadre_fond">
<p> </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> </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> </p>
<p><span></p>
<center>
<h2><a href="VIPGETCV3.php">Obtenir le mot de passe de l'onglet V.I.P</a></h2>
<p> </p>
<p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
</center>
<p><center>Merci d'avoir acheté l'onglet V.I.P.</center></p>
<p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
<p> </p>
<h2>Votre mot de passe de l'onglet V.I.P est :</h2>
<p> </p>
<h5>Generate a password ...</h5>
<h5>Check account ...</h5>
<h5>Update account ...</h5>
<p> </p>
<h2><b><font color=red>g4g5er4g7r8g</font></b></h2>
<p> </p>
<p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
<p> </p>
<p><font color=red>ATTENTION</font> : Merci de ne pas donner ce mot de passe à n'importe qui, si vous donnez ce mot de passe à 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 à vie</font>. (Les mots de passe générés sont du genre : <font color=red>X54X5e4g5G4gr5h7rR</font>, donc aucunes plaintes ne sera acceptée en cas de bannissement de logiciels.)</p>
<p> </p>
<p><img src="images/cadre.png" alt="g" width="501" height="25" /></p>
<p>Vous êtes passé 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> </p>
<p><a href="index.php">Retourner à l'accueil</a></p>
<p> </p>
<p><a href="logout.php">Se déconnecter</a></p>
<p> </p>
<p><a href="profil.php">Modifier votre profil</a></p>
<p> </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
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|