imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 11.11.2002, 01:20     # 1
infernal
Guest
 
Сообщения: n/a

Exclamation безопасность скриптов на PHP

Безопасно ли писать скриплы на PHP используя switch/case как выбор по навигационному меню, или лучше использовать if/else?
thx
icq 10088009
 
Старый 11.11.2002, 01:31     # 2
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
)) Смотря какое большое меню
Что именно тебя интересует? Поподробнее, плиз...
sanchos вне форума  
Старый 11.11.2002, 01:51     # 3
infernal
Guest
 
Сообщения: n/a

есть страница, которая передает на скрипт переменную.\
вариантов переменной много..
как лучше написать скрипт?
switch/case или if/else
 
Старый 11.11.2002, 10:45     # 4
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
в терминах безопасности, разницы нет. я обычно пользуюсь комбинацией этих двух - нечто вроде этого меня устраивает:
Код:
$allowed = array('c1','c2');
if(in_array($var, $allowed))
  {
  switch($var)
    {
    case 'c1':
      echo 'foo c1';
    break;
    case 'c2':
      echo 'foo c2';
    break;
    }
  }
else
  {
    echo 'послано запрещённое значение var';
  }
Aeon вне форума  
Старый 11.11.2002, 20:33     # 5
infernal
Guest
 
Сообщения: n/a

спасибо...
 
Старый 20.11.2002, 03:25     # 6
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Мне бы лично было бы немного жалко памяти, да времени... У тебя сравнение идет два раза, а можно одним обойтись, только проверить на наличие переменной $var не забыть бы:
PHP код:
// проверим есть ли такая переменная вообще
if(empty($var)) $var 'нифига!';
// а теперь проверить ее значение
  
switch($var)
    {
    case 
'c1': echo 'foo c1';
                    break;
    case 
'c2': echo 'foo c2';
                    break;
    
// тогда на default мы попадаем, если переменная была пуста,
    // либо, если такого значения в списке не обнаружилось
    
default:    echo 'послано запрещённое значение var';
    } 
Двух зайцев сразу Но, правда, на вкус и цвет...
sanchos вне форума  
Старый 20.11.2002, 05:49     # 7
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
Sanchos, ты совершенно прав... я написал для примера - а значит от балды, не думая о эффективности... твоё решение лучше
Aeon вне форума  
Старый 20.11.2002, 19:30     # 8
infernal
Guest
 
Сообщения: n/a

10x
 
Старый 20.11.2002, 20:40     # 9
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Гы А я это как первый раз от балды написал, так до сих пор этот способ и юзаю при постах. Кстати, может мое решение и лучше, но твое выглядет моднее

ЗЫЖ Спасибо, ребята, за вотинг: приятно
sanchos вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:54.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.