Контроль доступа к странице в php - PullRequest
0 голосов
/ 10 июня 2010

Я хочу контролировать доступ на сайте php.

У меня есть решение прямо сейчас с переключателем.

<?php
      $obj = $_GET['obj'];
      switch ($obj)
        {
      case a:
         include ('a.php');
         break;

      default:
         include ('f.php');
 }
?>

Но когда у меня так много страниц, ими становится трудно управлять.У вас есть лучшие решения?

Сейчас я разрабатываю приложение, используя php4.И я хочу использовать php5.Есть ли у вас какие-либо предложения, когда я разрабатываю его с помощью php5?

Спасибо

Ответы [ 4 ]

2 голосов
/ 10 июня 2010
$obj = $_GET['obj']; 

$validArray = array('a','b','c','d','e');

if (in_array($obj,$validArray)) {
   include ($obj.'.php'); 
} else {
   include ('f.php');
} 
1 голос
/ 10 июня 2010

Чем больше страниц, тем сложнее будет управлять этим.

Лучше всего использовать какую-то платформу, мои личные предпочтения: CodeIgniter .

0 голосов
/ 10 июня 2010

почему бы просто не обратиться к самой странице?

<a href="a.php">first page</a>
<a href="f.php">another page</a>
0 голосов
/ 10 июня 2010

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

Итак, код был примерно таким:

<?php

  $page = htmlspecialchars($_GET['page']);
  $stuffs = $db->query('select include,css from pages where pageid = "' . $page . '" LIMIT 1');

?>

Поэтому, когда нам нужно было добавить страницу, мы просто создали новое поле в базе данных.Это позволило нам также закрыть часть веб-сайта: у нас могло бы быть поле «available = {0,1}», а если оно равно нулю, отображалась статическая страница, сообщающая, что эта страница находилась на обслуживании.

...