Только для членов зоны - PullRequest
2 голосов
/ 28 июня 2011

При создании страницы, которая должна быть доступна только членам, правильный php будет следующим:

<?php if($_SESSION['logged_in']): ?>

// all code for page here

<?php endif; ?>

Все ли мои html / php находятся между этими двумя строками?

Есть ли другие способы сделать это лучше?

Какие проблемы безопасности мне следует знать?

Мой контент не особо чувствителен, но может появиться в будущем.

Ответы [ 4 ]

6 голосов
/ 28 июня 2011

Говоря строго с точки зрения написания разборчивого кода, почему бы и нет:

<?php
if (!$_SESSION['logged_in']) {
   header("Location: login.php");
   exit;
}
?>

<!-- // all code for page here -->

или подобное.

2 голосов
/ 28 июня 2011

Лучшим способом может быть:

<?php if(!$_SESSION['logged_in']) { header('Location:loginpage.php'); exit; } ?>

Тогда ваша страница может продолжаться как обычно, и пользователь, который не вошел в систему, получит страницу входа вместо этого.

Редактировать: добавлен требуемый exit вызов согласно документации заголовка.

1 голос
/ 28 июня 2011

Вы, конечно, можете поместить все свои HTML / PHP-код между условными, если хотите.Просто знайте, что если вы это сделаете, неаутентифицированные пользователи не увидят ничего , когда они попадут на страницу.Возможно, вы захотите поместить элементы дизайна вне условных, или, по крайней мере, использовать else: перед endif;

0 голосов
/ 28 июня 2011
<?php
 a = checksession(args); //your own function for checking session
 if(!a)
   header("Location: 401.shtml");  //This can contain advisory regarding login
?>    

Это будет в верхней части вашей страницы, остальные вы можете решить.

...