Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ссылки PHP. Хитрости  (Прочитано 12403 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« : 27-03-2006 06:35 » 

Цитата
Думайте о global $var; как о сокращении от $var =& $GLOBALS['var'];. Таким образом, присвоение $var другой ссылки влияет лишь на локальную переменную.

Вот так! Век живи - век учись...
Мне такого не нужно было, не сталкивался, но сам факт интересен.
« Последнее редактирование: 14-12-2007 23:21 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 27-03-2006 07:00 » 

Не помню где читал что с точки зрения безопасности использование $_POST['var'] предпочтительней чем просто  $var. Вроде как значение переменной $var легче подменить чем $_POST['var']
RXL, ты как относишся к такому утвержению?
« Последнее редактирование: 14-12-2007 23:22 от Алексей1153++ » Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 27-03-2006 07:07 » 

$var =& _POST['var'] - также равно?
« Последнее редактирование: 14-12-2007 23:23 от Алексей1153++ » Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 27-03-2006 07:14 » 

Ты имеешь в виду использование параметров POST в ф-иях? Или что? Уточни, а то не шибко ясно...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 27-03-2006 07:37 » 

Я имею в виду что вообще использование синтаксиса _POST['var'] (точно так же как и _GET) т.е. "суперглобальных массивов" безопасней чем "доступных зарезервированных предопределенных переменных PHP"(с). Если мне не изменяет память в статье говорилось: для безопасности переменные POST и GET лучше брать из массивов, а не из переменных инициализируемых при включеной опции register_globals
« Последнее редактирование: 14-12-2007 23:24 от Алексей1153++ » Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 27-03-2006 08:01 » 

RomCom, без сомнений! register_globals - пережиток прошлого, с которым надо нещадно бороться Ага

Кроме того, в ранних версиях PHP4 были массивы HTTP_*_VARS, которые не являются суперглобальными, а просто глобальными.
Еще я заметил катую фичу, что невозможно сделать unset($_GET). Если надо избавиться от содержимого, стоит сделать $_GET = array(). Но  unset($_REQUIEST) делается легко.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 27-03-2006 09:17 » 

Странно. Сейчас перепроверил - unset($_GET) работает прекрасно. Да же unset($GLOBALS) работает.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dracul
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 01-04-2006 03:51 » 

Цитата
Не помню где читал что с точки зрения безопасности использование $_POST['var'] предпочтительней чем просто  $var. Вроде как значение переменной $var легче подменить чем $_POST['var']
я тоже такое читал и там объяснялося, что $_POST['var'] береться именно из POST, а вот если включенна какая то опция в настройках php (вроде бы регистр глобал), то переменная $var может быть взята не из POST а из GET (там тоже зависит от нстроек, откуда переменные беруться в первую очередь)...
Ну это правдо если я все правильно помню... вот...
« Последнее редактирование: 14-12-2007 23:24 от Алексей1153++ » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 01-04-2006 09:20 » 

Источники данных и порядок и просмотра при регистрации глобальных переменных (при register_global=on) определяется там же - php.ini.
Мои советы:
1) забудьте навсегда о существовании register_globals
2) всегда инициализируйте переменные (особенно, если они создаются по условию)
3) поменьше глобальных переменных - меньше будет потенциальных дыр
4) не используйте бездумно addslashes() и т.п. - не все надо чистить, и не так примитивно
5) ... и еще много-много советов, которые сразу и не вспомнишь...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 01-04-2006 12:08 » 

Реплика в сторону Улыбаюсь
RXL твой пост совпал по времени с моим разбором vu-engine2.2 У меня случились проблемы с установкой и тестированием т.к. отключены register_globals, от греха подальше, а там эти переменные используются вовсю Улыбаюсь
Это получилось по недосмотру или от желания упрастить систему?
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 01-04-2006 16:04 » 

RomCom, vu писал Гром, а у него не было опята программирования в php. Можно сказать, что он на этом учился.
Почитай тему про развитие vu с самогоначала.
« Последнее редактирование: 01-04-2006 16:07 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines