Zone privée, comment protéger?

Inna10 -  
mpmp93 Messages postés 7217 Statut Membre -
Bonjour,

j'aimerais savoir qu'est ce qu'il fallait protéger dans une zone membre privé, la partie php ou la partie html ?

exemple cas 1 php protégé :

<?php
if(!empty($_SESSION['user']['username'])) {
// on recupere info du membre

}else{
header('Location:login.php');
exit();

}?>

//on affiche l'html sans protect


ou le cas 2 , on protège l'html


<?php
//on récupère l'info du membre

?>

// et on protége l'html
<?php if(!empty($_SESSION['user']['username'])) { ?>

<ul>
<li ><a><?php echo htmlspecialchars($users->username); ?></a></li>
<li ><a><?php echo htmlspecialchars($users->avatar); ?></a></li>
<li ><a><?php echo htmlspecialchars($users->pays); ?></a></li>
</ul>

<?php }else{
header('Location:login.php');
exit();
?>

Voila, quelle méthode est la meilleur selon vous ? il vaut mieux peut être faire les 2?
merci de vos réponses.
A voir également:

4 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour !
Oui, le mieux est de ne l'autorisé ni au code php, ni au code html, après si tes codes sont sur la mêmes page, l'interdire au php (si tu le fais hors d'une condition) devrait le bloqué sur l'html aussi.
0
Inna10
 
Merci pour votre réponse ! mais ça veut dire quoi interdire en php hors condition ? dans mon cas l'exemple 1 n'est pas bon ?

bonne soirée.
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Quand je dit hors condition, c'est en dehors d'un if, ton exemple aurait pû être un extrait de code,
Ce genre code poserai problème parceque ta vérification arriverai après la soumission du formulaire :
<?php
if($_POST["login"]){
   if($_SESSION["user]){
?>


Mais si ce n'est pas le cas, pas de soucis :)
0
mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

ceci:

<?php
if(!empty($_SESSION['user']['username'])) {
// on recupere info du membre

}else{
header('Location:login.php');
   exit();

}?>


peut être écrit plus simplement:

<?php
if(empty($_SESSION['user']['username'])) {
    header('Location:login.php');
    exit();
}
// on recupere info du membre
?>


car en faisant le exit(); on ne va pas plus loin... Donc pas besoin de else

A+

public function meilleurProgrammeurDuMonde() { return "MOI"; } () // humour
0