CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème script protection PHP

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 12:59:13

Bonjour,

Suite au technique de Bypass starpass, j'ai installé un script de protection fournit par Starpass.

Alors voilà, celui-ci marche niquel (protection des Bypass) et fonctionne bien lors des achats.

Mais quelques petit malin utilise des logiciels de scan d'URL, il obtienne ma page de sécurité qui est sous cette forme : http://Monsite.fr/E5F5E11R51G55T56H5Y56T56R.php puis il l'insère dans leur barre d'URL et font entré.. Et paf ! Il arrive donc à la page d'accès.

J'aimerais savoir comment sécurisé cette page ?

PS : Je donne mes sources si besoin.

Merci d'avance

Anal-plus
Anal-plus
Niveau 10
20 juillet 2013 à 13:16:09

Et bien, pourquoi ne pas utiliser les variables de session ?
Lorsque que la personne a entré un bon code, tu crées une variable de session, EX : setcookie('permission','1'); (sans oublier de faire un session_start(); au debut de ta page.
Ensuite, sur ta page caché, tu verifies que cette variable exite.

Tu écris : session_start();
if(empty($_COOKIE['permission'])) {
header('Location: index.php'); ==> Tu rediriqes le petit malin qui a trouvé la page sans avoir acheté ton code
}

else {
Tu affiches la page (ou du moins le contenu disponible pour ceux qui ont acheté le code
}

Voila

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 15:09:53

Je n'ai pas compris ta solution, voici la page d'accès :

<?php
// Déclaration des variables
$ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=
$code4=$code5=$datas='';

$idp = 23691;
// $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
$idd = 150541;
$ident=$idp.";".$ids.";".$idd;
// On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
if(isset($_POST['code1'])) $code1 = $_POST['code1'];
if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
$codes=$code1.$code2.$code3.$code4.$code5;
// On récupère le champ DATAS
if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
// On encode les trois chaines en URL
$ident=urlencode($ident);
$codes=urlencode($codes);
$datas=urlencode($datas);

/* Envoi de la requête vers le serveur StarPass
Dans la variable tab[0] on récupère la réponse du serveur
Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
$get_f=@file("http://script.starpass.fr/check_php.
php?ident=$ident&codes=$codes&DATAS=$datas");

if(!$get_f)
{
exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur.");
}
$tab = explode("|",$get_f[0]);

if(!$tab[1]) $url = "http://sproof.fr/icicestmapagesecuriser.php";
else $url = $tab[1];

// dans $pays on a le pays de l'offre. exemple "fr"
$pays = $tab[2];
// dans $palier on a le palier de l'offre. exemple "Plus A"
$palier = urldecode($tab[3]);
// dans $id_palier on a l'identifiant de l'offre
$id_palier = urldecode($tab[4]);
// dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
$type = urldecode($tab[5]);
// vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php

// Si $tab[0] ne répond pas "OUI" l'accès est refusé
// On redirige sur l'URL d'erreur
if(substr($tab[0],0,3) != "OUI")
{
header("Location: $url");
exit;
}
else
{
/* Le serveur a répondu "OUI"

On place un cookie appelé CODE_BON et qui vaut la valeur 1
Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
Dans les pages suivantes, nous testerons l'existence du cookie
S'il existe, c'est que l'internaute est autorisé,
sinon on le renverra sur une page d'erreur */
setCookie("CODE_BON", "1", 0);
// Si vous avez plusieurs documents, nommer le cookie plutôt 'code'+iDocumentId

// vous pouvez afficher les variables de cette façon :
// echo "idd : $idd / codes : $codes / datas : $datas / pays : $pays / palier : $palier / id_palier : $id_palier / type : $type";
}
?>

<?php
// On vérifie si le cookie existe
if(isset($HTTP_COOKIE_VARS['CODE_BON']))
{
// Si le cookie existe mais que le contenu n'est pas bon on le redirige sur la page d'erreur
if( $HTTP_COOKIE_VARS['CODE_BON'] != '1'){

header( "Location: http://sproof.fr/nojetons&quot; );
exit(1);
}
}
else{

// Si le cookie n'existe pas on redirige l'internaute sur la page d'erreur
header( "Location: http://sproof.fr/nojetons&quot; );
exit(1);
}
?>

ça c'la page où est redirigé l'acheteur lorsque le code est valide.

Attention : Une personne qui tente de contourné le système y passe aussi, mais celle ci lui renvoie un résultat négatif.

Ayant l'url, il le copie/colle puis l'insère dans sont navigateur et là ça marche..

Bref, cette page est un "check" pour savoir si le code est bon ou non, si celui-ci est bon ça renvoie vers :

<?php
include('global.php');
mysql_query("UPDATE users SET jetons = jetons + 50 WHERE id = '".$user['id']."'");
header('Location: jetons_ok');
$sqlsql = "UPDATE users SET achats = achats + 1 WHERE id = '".$user['id']."'";
mysql_query($sqlsql);
?>

Bref, je ne vois vraiment pas où mettre ton code, je me suis vraiment pris la tête.. Mais j'y comprend vraiment rien

Anal-plus
Anal-plus
Niveau 10
20 juillet 2013 à 15:36:52

http://sproof.fr/icicestmapagesecuriser.php = Ta page privé ? (page si les codes sont bon ?)

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 16:02:24

C'est ça, normalement on ne dois pas mettre l'URL dans la page de sécurité.. Mais si je le met pas, ça m'envoie automatiquement même si les codes sont bon sur http://script.starpass.com/error

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 16:04:30

Le code de base si ça peut t'aidé :

<?php
// Déclaration des variables
$ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=
$code4=$code5=$datas='';

$idp = 23691;
// $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
$idd = 150541;
$ident=$idp.";".$ids.";".$idd;
// On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
if(isset($_POST['code1'])) $code1 = $_POST['code1'];
if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
$codes=$code1.$code2.$code3.$code4.$code5;
// On récupère le champ DATAS
if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
// On encode les trois chaines en URL
$ident=urlencode($ident);
$codes=urlencode($codes);
$datas=urlencode($datas);

/* Envoi de la requête vers le serveur StarPass
Dans la variable tab[0] on récupère la réponse du serveur
Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
$get_f=@file("http://script.starpass.fr/check_php.
php?ident=$ident&codes=$codes&DATAS=$datas");

if(!$get_f)
{
exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur.");
}
$tab = explode("|",$get_f[0]);

if(!$tab[1]) $url = "http://script.starpass.fr/error.php";
else $url = $tab[1];

// dans $pays on a le pays de l'offre. exemple "fr"
$pays = $tab[2];
// dans $palier on a le palier de l'offre. exemple "Plus A"
$palier = urldecode($tab[3]);
// dans $id_palier on a l'identifiant de l'offre
$id_palier = urldecode($tab[4]);
// dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
$type = urldecode($tab[5]);
// vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php

// Si $tab[0] ne répond pas "OUI" l'accès est refusé
// On redirige sur l'URL d'erreur
if(substr($tab[0],0,3) != "OUI")
{
header("Location: $url");
exit;
}
else
{
/* Le serveur a répondu "OUI"

On place un cookie appelé CODE_BON et qui vaut la valeur 1
Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
Dans les pages suivantes, nous testerons l'existence du cookie
S'il existe, c'est que l'internaute est autorisé,
sinon on le renverra sur une page d'erreur */
setCookie("CODE_BON", "1", 0);
// Si vous avez plusieurs documents, nommer le cookie plutôt 'code'+iDocumentId

// vous pouvez afficher les variables de cette façon :
// echo "idd : $idd / codes : $codes / datas : $datas / pays : $pays / palier : $palier / id_palier : $id_palier / type : $type";
}
?>

ILS FOURNISSENT AUSSI UN CODE POUR LES COOKIES :

Dans les pages suivantes de la zone payante de votre site, vous pouvez alors vérifier l'existence de ce cookie :

<?php
// On vérifie si le cookie existe
if(isset($HTTP_COOKIE_VARS['CODE_BON']))
{
// Si le cookie existe mais que le contenu n'est pas bon on le redirige sur la page d'erreur
if( $HTTP_COOKIE_VARS['CODE_BON'] != '1'){

header( "Location: http://script.starpass.fr/error.php&quot; );
exit(1);
}
}
else{

// Si le cookie n'existe pas on redirige l'internaute sur la page d'erreur
header( "Location: http://script.starpass.fr/error.php&quot; );
exit(1);
}
?>

J'ai vraiment fais un tas de recherche du le net, j'ai essayez différente techniques.. J'ai jamais réussi..

Sinon, tu as Skype?

Anal-plus
Anal-plus
Niveau 10
20 juillet 2013 à 16:26:05

Je t'ai MP ! :o))

Anal-plus
Anal-plus
Niveau 10
20 juillet 2013 à 18:02:54

Ououh ... Y'a quelqu'un ? :o))

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 20:41:33

Je cherche toujours de l'aide :(

Onchejaculation
Onchejaculation
Niveau 5
20 juillet 2013 à 21:17:01

Up :(

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment