инициализацие всего в подряд в хэше perl

Модератор: Модераторы разделов

Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

инициализацие всего в подряд в хэше perl

Сообщение gcc »

появися вопрос, может быть явно не правильный...

Код: Выделить всё

  my %hash = map { $_ => $query->param($_) } my @names = $query->param();


можно ли так писать, то есть данные из формы GET, POST сразу ВСЕ инициализируються в ключах хэша

можно так использовать?
может ли кто-то передать много этих? несколько тысячь этих парамтеров злоумышленно?
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: инициализацие всего в подряд в хэше perl

Сообщение Portnov »

Это как раз одна из причин нелюбви к PHP в течение долгого времени была - там параметры запроса вообще глобальными переменными становятся (становились, пока register_globals off по дефолту не сделали).

Если вы точно знаете, что будете использовать только определённые элементы этого хэша - пожалста. Только тогда не надо циклов по всему хэшу итп. Традиционно, такое поведение считается потенциальной дыркой в безопасности.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Re: инициализацие всего в подряд в хэше perl

Сообщение gcc »

спасибо, нашел еще так:

Код: Выделить всё

%params = $q->Vars;
Спасибо сказали: