Максимальное число вводимых переменных в php.ini между производительностью и безопасностью

У меня возникла проблема с отправкой форм на моем форуме по PHPbb3, особенно в панели администрирования с большими полями ввода, это действительно большой форум. Однако в журнале php я заметил предупреждение:

[21-Apr-2014 07:36:37 Europe/Belgrade] PHP Warning:  Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

Я увеличил значение до 2500, но предупреждение все еще. Однако после установки 10000 он исчез, и форма была отправлена ​​правильно.

Мой вопрос: есть ли у него проблемы с безопасностью и / или производительностью моего сервера до 10000?

1 ответ

Решение

Ну, конечно, есть недостатки использования тысяч переменных в форме сообщения. Производительность снизится с обеих сторон, сервера и клиента. Все значения кодируются, копируются и декодируются несколько раз, что увеличивает производительность и память. А зачем?

Но я бы сказал, что это не совсем так. Надо подумать вот о чем: почему, черт возьми, эти вещи требуют тысячи переменных в посте? Это звучит безумно. Я предлагаю вам переосмыслить архитектуру этого. Там должно быть гораздо проще и надежнее решение. Типичным подходом было бы закодировать все эти переменные в одну переменную, обычно в некоторый блок данных JSON.

До сих пор я видел только один пример архитектуры, в которой кто-то пытался реализовать редактор файлов csv в виде одной формы на основе html / http, публикуя все поля как отдельные переменные. Поверьте, для этого есть лучшие подходы.

Другие вопросы по тегам