Lien Profil.php

Suivre ce topic
Ce topic est suivi par : TECH3
Ce topic a été résolu
TECH3

TECH3 Le 21 août 2016 à 00:55 (Édité le 25 janvier 2019 à 17:52)

Bonjour,

j'ai suivi le tuto de PrimFX pour faire un espace membre,

tout fonctionne à merveille mais j'ai un problème qui me dérange beaucoup c'est que si quelqu’un s'enregistre sur le site il aura pas exemple l'ID [3] dans ma bdd.

Mais cela  ne l'empêche pas de faire: monsite.com/profil.php?id=2 et de pouvoir accéder aux infos de l'utilisateur.

Les informations ne peuvent pas êtres éditées mais je ne trouve pas sa totalement sécurisé quelqu’un peux m'aider ?

Cordialement.


TheOldNoob

TheOldNoob Le 21 août 2016 à 01:57

Salut l'ami,
J'ai pas suivis son tuto, tu peu envoyer ton code?
Zaraakai

Zaraakai Le 21 août 2016 à 05:23

Tien voici un code qui quand t'es pas co et que tu veux y accedez sa te redirige vers la page de connection:

<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
if(isset($_GET['id']) AND $_GET['id'] > 0) {
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
         ?>
         <br />
         <a href="editionprofil.php">Editer mon profil</a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
       }else{
         header("Location: connexion.php");
       }
         ?>
      </div>
   </body>
</html>
<?php
}
?>

TECH3

TECH3 Le 21 août 2016 à 09:56

Bonjour,

Effectivement le else pourrait être la solution mais quand je veux mettre je ne peux pas inclure un header car dans le header.inc.php il me semble que cela bloque.

Header.inc.php:
<html>
<head>
    <title>OVER TOOLS</title>
   <meta charset="UTF-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
   
   <meta name="description" content="The n°1 of tools and API'S !" />
   <meta name="keywords" content="tool, API's, chat, sms, over-tools, OVER TOOLS" />
   <meta name="author" content="TECH3" />
    <meta name="publisher" content="TECH3" />
   <link rel="stylesheet" href="css/font-awesome.min.css" />
   <link rel="stylesheet" href="css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/bootstrap-reset.css" />
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css' />
   <link rel="stylesheet" href="css/style.css" />
    <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" />
    <link href="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.css" rel="stylesheet" />
    <link rel="stylesheet" href="css/owl.carousel.css" />
    <link rel="stylesheet" type="text/css" href="css/owl.theme.css" />
    <link rel="stylesheet" type="text/css" href="css/owl.transitions.css" />
</head>
<?php
require 'bdd.php';
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
    $getid = intval($_GET['id']);
    $requser = $bdd->prepare('SELECT * FROM utilisateurs WHERE id = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
?>
<body>
<!-- start:wrapper -->
<div id="wrapper">
<!-- start:header-top -->
<div class="header-top">
    <!-- start:navbar -->
    <nav class="navbar navbar-inverse navbar-static-top" role="navigation" style="margin-bottom: 0">
        <div class="container">
            <!-- start:navbar-header -->
            <div class="navbar-header">
                <a class="navbar-brand" href=""><strong>OVER</strong> TOOLS</a>
            </div>
            <!-- end:navbar-header -->
                <ul class="nav navbar-nav navbar-left top-menu"></ul>
                <ul class="nav navbar-nav navbar-right top-menu">
                    <!-- user login dropdown start-->
                    <li class="dropdown">
                        <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                            <img alt="" src="img/avatar1_small.jpg">
                            <span class="username"><?php echo $userinfo['pseudo']; ?></span>
                            <b class="caret"></b>
                        </a>
                        <ul class="dropdown-menu">
                            <div class="log-arrow-up"></div>
                            <li><a href=""><i class=" fa fa-suitcase"></i>Profile</a></li>
                            <li><a href="edition.php"><i class="fa fa-cog"></i> Paramètres</a></li>
                            <li><a href="deconnexion.php"><i class="fa fa-power-off"></i> Déconnexion</a></li>
                        </ul>
                    </li>
                </ul>
        </div>
    </nav>
    <!-- end:navbar -->
</div>
<!-- end:header-top -->
    <!-- start:header -->
    <div id="header">
        <div class="overlay">
            <nav class="navbar" role="navigation">
                <div class="container">
                        <!-- Brand and toggle get grouped for better mobile display -->
                        <div class="navbar-header">
                            <button type="button" class="btn-block btn-drop navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                                <strong>MENU</strong>
                            </button>
                        </div>
                    
                        <!-- Collect the nav links, forms, and other content for toggling -->
                        <div class="collapse navbar-collapse navbar-ex1-collapse">
                            <ul class="nav navbar-nav">
                                <li class="active">
                                    <a href="">
                                        <div class="text-center">
                                            <i class="fa fa-home fa-3x"></i><br />
                                            Accueil
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="whois.php">
                                        <div class="text-center">
                                            <i class="fa fa-eye fa-3x"></i><br />
                                            Whois
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="url.php">
                                        <div class="text-center">
                                            <i class="fa fa-chain fa-3x"></i><br />
                                            URl Shortner
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="ping.php">
                                        <div class="text-center">
                                            <i class="fa fa-signal fa-3x"></i><br />
                                            Ping
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="password.php">
                                        <div class="text-center">
                                            <i class="fa fa-barcode fa-3x"></i><br />
                                            Random Password
                                        </div>
                                    </a>
                                </li>
                            </ul>
                        </div><!-- /.navbar-collapse -->
                </div>
            </nav>
        </div>
    </div>
    <!-- end:header -->
<!-- start:main -->
<div class="container">
<div id="main"> 
<div class="row" id="home-content">
<?php
}
?>
TECH3

TECH3 Le 21 août 2016 à 09:57

Mon Profil.php:
<html lang="fr">
<?php
require 'bdd.php';
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
    $getid = intval($_GET['id']);
    $requser = $bdd->prepare('SELECT * FROM utilisateurs WHERE id = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
?>
<?php include 'header.inc.php'; ?>
                
<center><h1>Bienvenue <?php echo $userinfo['pseudo']; ?> !</h1></center>
<br />
<div class="col-md-12">
    
<!-- start:state overview -->
<div class="row state-overview">
        
<div class="col-lg-6 col-sm-6">
    <section class="panel">
        <div class="symbol terques">
            <i class="fa fa-user"></i>
        </div>
        <div class="value">
            <h1 class="count">2</h1>
            <p>Utilisateurs</p>
        </div>
    </section>
</div>
        
<div class="col-lg-6 col-sm-6">
    <section class="panel">
        <div class="symbol purple">
            <i class="fa fa-money"></i>
        </div>
        <div class="value">
            <h1 class=" count4">0</h1>
            <p>Profit Total</p>
        </div>
    </section>
</div>
   
</div>
<!-- end:state overview -->
   
</div>
</div>
</div>
</div>
<!-- end:main -->
<!-- start:infos -->
<footer>
    <div class="container">
        <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
            <div class="footer-widget">
                <h1 class="page-header">La<strong> Rapiditée</strong></h1> 
                <span class="divider-hr"></span>
                <div class="row content-widget-footer">
                    <div class="col-sm-4">
                        <div class="icon-footer">
                            <i class="fa fa-flash fa-4x"></i>
                        </div>
                    </div>
                    <div class="col-sm-8">
                        <p>Le site est conçu de manière à afficher son contenu de manière 
                        simple et instantané !</p>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
            <div class="footer-widget">
                <h1 class="page-header">Le<strong> Design</strong></h1>
                <span class="divider-hr"></span>
                <div class="row content-widget-footer">
                    <div class="col-sm-4">
                        <div class="icon-footer">
                            <i class="fa fa-diamond"></i>
                        </div>
                    </div>
                    <div class="col-sm-8">
                        <p>Ce style de design permet d'adapter les dimensions du site en fonction de
                        l'appareil depuis lequel vous y accéder !</p>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
            <div class="footer-widget">
                <h1 class="page-header">Nos<strong> Serveurs</strong></h1>
                <span class="divider-hr"></span>
                <div class="row content-widget-footer">
                    <div class="col-sm-4">
                        <div class="icon-footer">
                            <i class="fa fa-server"></i>
                        </div>
                    </div>
                    <div class="col-sm-8">
                        <p>Nous disposons de nos propres serveurs de manière à pouvoir<br>
                        vous proposer une expérience unique !</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</footer>
<!-- end:infos -->
<?php
include 'footer.inc.php';
?>
<?php
}
?>
</body>
</html>

TECH3

TECH3 Le 21 août 2016 à 09:57

Le footer.inc.php:
</div>
</div>
</div>
</div>
<!-- start:footer -->
<div class="footer-bottom">
    <div class="container">
        <div class="footer-bottom-widget">
            <div class="row">
                <div class="col-sm-6">
                    <p>© 2016 <strong>OVER</strong> TOOLS</p>
                </div>
                <div class="col-sm-6">
                    <p class="footer-bottom-links">
                        <strong>Tous droits réservés</strong>
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- end:footer -->
</div>
</div>
</div>
</div>
<!-- end:wrapper -->
   <!-- start:javascript -->
   <!-- javascript default for all pages-->
   <script src="js/jquery-1.11.1.min.js"></script>
   <script src="js/bootstrap.min.js"></script>
    <!-- javascript for Srikandi admin -->
    <script src="js/themes.js"></script>
    <script src="js/jquery.scrollTo.min.js"></script>
    <script src="js/jquery.nicescroll.js"></script>
    <script src="js/jquery.sparkline.js" type="text/javascript"></script>
    <script class="include" type="text/javascript" src="js/jquery.dcjqaccordion.2.7.min.js"></script>
    <script src="js/respond.min.js" ></script>
   <!-- end:javascript -->
    <!-- start:javascript for this page -->
    <script src="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.js"></script>
    <script src="js/owl.carousel.js" ></script>
    <script src="js/jquery.customSelect.min.js" ></script>
    <script src="js/sparkline-chart.js"></script>
    <script src="js/easy-pie-chart.js"></script>
    <script>
        //owl carousel
        $(document).ready(function() {
            $("#owl-demo").owlCarousel({
                navigation : true,
                slideSpeed : 300,
                paginationSpeed : 400,
                singleItem : true,
                autoPlay:true
            });
        });
        //custom select box
        $(function(){
            $('select.styled').customSelect();
        });
        if ($(".custom-bar-chart")) {
        $(".bar").each(function () {
            var i = $(this).find(".value").html();
            $(this).find(".value").html("");
            $(this).find(".value").animate({
                height: i
            }, 2000)
        })
    }
    </script>
    <!-- end:javascript for this page -->
</html>
Balatharas

Balatharas Le 21 août 2016 à 12:11

Bonjour, euh je ne comprends pas ton probleme.......
TECH3

TECH3 Le 21 août 2016 à 12:20

en fait lorsque l'on créer un compte sur mon site pour se connecter cela génère un url de type: monsite.com/profil.php?id=3,
seulement il suffit que la personne accède à: monsite.com/profil.php?id=2 pour voir les infos de la personne ayant l'id 2.

Elle ne peut pas éditer les infos certes mais je souhaite que les infos ne soient mêmes pas visibles !
Balatharas

Balatharas Le 21 août 2016 à 12:26 (Édité le 22 août 2016 à 13:01)

Bah c'est un peu bizarre quand meme, mais si tu ne veux pas montrer le profil au public tu met cette ligne:
if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
Au dessus de "Profil de <pseudo>" et en dessous de l'accolade qui ferme la condition tu met:
else
{
     echo "Les informations de ce profil sont privées. <br />Merci de <a href="connexion.php">vous connecter</a> pour accéder a votre profil.";
}
Voila. 

PS: <?= ?> est un raccourci de <? echo ?> et il n'a pas besoin de virgule a la fin du message a émettre. Si tu savais ça tant mieux 😋
TECH3

TECH3 Le 21 août 2016 à 12:34

ok je te remercie je test tout ça en rentrant :p
TECH3

TECH3 Le 21 août 2016 à 21:48

c bon j'ai résolu le problème j'ai intégrer ton code directement dans  le header que j'incldue dans le profil ^^

Merci à toi.
Balatharas

Balatharas Le 22 août 2016 à 13:01

De rien à toi 😋
N'hésite pas si tu as besoin d'autre chose.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte