Lien Profil.php
- Accueil
- Forum
- Programmation
- PHP
- Lien Profil.php
TECH3 Le 21 août 2016 à 00:55 (Édité le 25 janvier 2019 à 17:52)
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 Le 21 août 2016 à 01:57 (Édité le 1 janvier 1970 à 01:00)
J'ai pas suivis son tuto, tu peu envoyer ton code?
Zaraakai Le 21 août 2016 à 05:23 (Édité le 1 janvier 1970 à 01:00)
<?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 Le 21 août 2016 à 09:56 (Édité le 1 janvier 1970 à 01:00)
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 Le 21 août 2016 à 09:57 (Édité le 1 janvier 1970 à 01:00)
<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 Le 21 août 2016 à 09:57 (Édité le 1 janvier 1970 à 01:00)
</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 Le 21 août 2016 à 12:11 (Édité le 1 janvier 1970 à 01:00)
TECH3 Le 21 août 2016 à 12:20 (Édité le 1 janvier 1970 à 01:00)
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 Le 21 août 2016 à 12:26 (Édité le 22 août 2016 à 13:01)
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 Le 21 août 2016 à 12:34 (Édité le 1 janvier 1970 à 01:00)
TECH3 Le 21 août 2016 à 21:48 (Édité le 1 janvier 1970 à 01:00)
Merci à toi.
Balatharas Le 22 août 2016 à 13:01 (Édité le 1 janvier 1970 à 01:00)
N'hésite pas si tu as besoin d'autre chose.