2012-06-30 4 views
0

теперь я стараюсь из панели администратора и там хочу добавить 3 раздела:Использования метода GET PHP

  1. Редактировать сообщение
  2. Remowe размещать
  3. Добавить запись

В файл admin.php Я использую sesions, но я не знаю, как разделять эти 3 раздела. Я хочу использовать этот метод сделал 3 раздел страницы admin.php:

  1. /admin.php?id=edit
  2. /admin.php?id=remove
  3. /admin.php?id= добавить

Я хочу спросить вас, правильно ли вы приняли это решение?

ответ

0

Я бы структурировать код таким образом, чтобы каждый из моих администраторов страниц, унаследованных от одного безопасного базового класса. Все подклассы могут реализовывать то, что им функционально необходимо, поэтому у вас не будет одного гигантского файла, и все они могут быть легко сохранены с точки зрения безопасности. Таким образом, ваша основная точка входа в систему может быть страницей admin.php, которая вызывает правильный класс и метод на основе ваших параметров http с помощью простого оператора switch или другого метода для маршрутизации запроса.

+0

Mhm Я тоже об этом думаю, но не знаю, как отделить этот вызов метода класса, использование 'case' будет правильной идеей для разделения вызова класса? – Wizard

+0

Итак, с точки зрения масштабируемости это может быть не самый лучший вариант. Однако для страницы администратора она должна работать нормально. Самый простой способ, я мог бы подумать, чтобы сделать это, включив класс в запрос, включите тип класса, затем добавьте экземпляр и вызовите метод. Если вы хотите что-то, требующее меньше обслуживания, вы можете использовать call_user_func(), поместить все в try catch и просто использовать параметры запроса, чтобы напрямую создать экземпляр и вызвать вызов функции. Я видел эту шкалу хорошо, но ее трудно понять и отлаживать время от времени, так как ее «волшебная», – 10cool

1

Это правильно, хотя рекомендуется использовать POST, поскольку для начинающих хакеров немного сложнее играть. Также убедитесь, что вы проверяете, что пользователь имеет право доступа к опасным разделам, таким как «редактировать» и «удалять».

Также в качестве рекомендации по безопасности вы должны изменить имя своего файла admin.php на что-то менее легко найти: у любого предполагаемого хакера есть автоматические инструменты, чтобы попытаться использовать имена самых известных администраторов, чтобы попытаться войти. Если имя является уникальным, это добавит трудности, прежде чем даже попытаться сломать его.

+0

Хорошо, я проверил, но эта панель будет только для администратора (1 пользователь) – Wizard

+0

Как и многие разделы администратора, однако любой может попытаться вызвать страницу «admin.php» и попробовать некоторые известные проблемы с безопасностью или плохое кодирование чтобы получить доступ. – jonjbar

1

Ваш ответ «но я не знаю, как отделить эти 3 раздела»:

if(isset($_GET['id'])){ 
    switch($_GET['id']){ 
     case 'add': 
      //your code 
     break; 
     case 'edit': 
      //your code 
     break; 
     case 'delete': 
      //your code 
     break; 
     default: 
      //your code if some one pass anything else add/edit/remove 
    } 
} 

Im, используя тот же способ в моем коде, и нет никаких проблем, но вы должны проверить безопасность кода.

Поправьте меня, если я ошибаюсь