docentovich
8.06.2016 - 17:31
$key = $_POST['key'];
$$key->make();
чем опасна данная конструкция, могут ли ее использовать злоумышленники, и как не меняя конструкцию, добавив проверок ее использовать? или забыть пор такую конструкцию и передлать по другому?
суть вот в чем, есть множество обьектов, котрые я возварщаю по запросу. в key храниться собственно имя-запрос обьекта. обьектов много и по этому не хочеться указывать доступные имена явно
Цитата (docentovich @ 8.06.2016 - 17:31) |
суть вот в чем, есть множество обьектов, котрые я возварщаю по запросу. в key храниться собственно имя-запрос обьекта. обьектов много и по этому не хочеться указывать доступные имена явно |
Возращать как массив объектов с ключом, а потом делать выбирать по ключу
$key = $_POST['key'];
$objects[$key]->make();
Цитата (docentovich @ 8.06.2016 - 17:31) |
или забыть пор такую конструкцию и передлать по другому? |
лучше забыть и вообще не использовать. Не только из опасности взлома, но и с точки зрения выразительности кода, такой код очень сложно читать. Лучше для таких вещей как тут использовать или массивы (как в примере выше), либо коллекции, либо репозиторий.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
docentovich
9.06.2016 - 03:19
спасибо! реализовал Пулом объектов (это наверное у вас коллекция):
SelectBoxPull::pushSelect(new SelectBox('ТО 204', 'dw204Select'))
->addItem('1')
->addItem('2');
.........
SelectBoxPull::pushSelect(new SelectBox('ТО 999', 'dw999Select'))
->addItem('1')
->addItem('2');
pushSelect - добавляет новый обьект в массив обьектов и возварщает указатель на объект.
а обращаюсь я к нему так
SelectBoxPull::getSelect($key)->make();
в итоге мне не пришлось создавть массив где бы я еще раз прописывал все названия вида dw204Select:
$dw204Select = new SelectBox('ТО 204');
........
$dw999Select = new SelectBox('ТО 999');
$mas = array(
'dw204Select' => $dw204Select,
.....
'dw999Select' => $dw999Select
)
Invis1ble
9.06.2016 - 04:52
docentovich
9.06.2016 - 14:02
а что такое пул тогда?
docentovich
9.06.2016 - 14:05
я не знаком с паттерном пул (краем уха слышал что такой есть). я имел ввиду коллекцию объектов котрые можно вытащить и положить
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.