Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Просто и эффективно

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ArchAngel
Отправлено: 19 Июля, 2010 - 19:51:23
Post Id


Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




вот такой вопрос как лучше и эффективней защитить ?

$_POST['cp_server']; - число (номер сервера) тип формы select
$_POST['cp_remember']; - число (запомнить) тип формы checkbox
$_POST['cp_attachip']; - число (прикрепить сессию у ip ) тип формы checkbox


PHP:
скопировать код в буфер обмена
  1. $_server = $_POST['cp_server'];
  2. $_remember = $_POST['cp_remember'];
  3. $_attachip = $_POST['cp_attachip'];
  4.  
  5. if(empty($_server)){
  6.    die("Error Server ID.");
  7. } elseif(!is_numeric($_server)){
  8.    die("Error Server ID.");
  9. }
  10.  
  11. if(empty($_remember)){
  12.    $_remember = 0;
  13. } elseif(!is_numeric($_remember)){
  14.    $_remember = 0;
  15. }
  16.  
  17. if(empty($_attachip)){
  18.    $_attachip = 0;
  19. } elseif(!is_numeric($_attachip)){
  20.   $_attachip = 0;
  21. }


или

PHP:
скопировать код в буфер обмена
  1. $_server =(int) $_POST['cp_server'];
  2. $_remember = (bool)$_POST['cp_remember'];
  3. $_attachip = (bool)$_POST['cp_attachip'];
  4.  
  5. if(empty($_server)){
  6.    die("Error Server ID.");
  7. }
  8. if(empty($_remember)){
  9.    $_remember = 0;
  10. }
  11. if(empty($_attachip)){
  12.    $_attachip = 0;
  13. }
  14. }
 
 Top
Champion Супермодератор
Отправлено: 19 Июля, 2010 - 20:00:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Мне второй вариант больше нарвится. Только после приведения типов empty там не будет.
 
 Top
ArchAngel
Отправлено: 19 Июля, 2010 - 20:07:37
Post Id


Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




ой чуток ступил

второй вариант

PHP:
скопировать код в буфер обмена
  1. if(empty($_server)){
  2.    die("Error Server ID.");
  3. }
  4. if(empty($_remember)){
  5.    $_remember = false;
  6. }
  7. if(empty($_attachip)){
  8.    $_attachip = false;
  9. }
 
 Top
wats
Отправлено: 19 Июля, 2010 - 20:50:31
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2010  
Откуда: Пермь, Россия


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $_server = !empty($_POST['cp_server']) ? (int)$_POST['cp_server'] : die("Error Server ID.");
  2. $_remember = !empty($_POST['cp_remember']) ? (bool)$_POST['cp_remember'] : false;
  3. $_attachip = !empty($_POST['cp_attachip']) ? (bool)$_POST['cp_attachip'] : false;

(Отредактировано автором: 19 Июля, 2010 - 20:51:40)



-----
Обычный web-мастер
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB