Это взломать, чтобы отправить массив в параметрах запроса в get?

Я слышал, что это хак, чтобы передать массив в параметрах запроса, таких как

http:site.com?a[]=5&a[]=6

Я знаю массив поддержки PHP в параметрах запроса, поэтому на стороне сервера вы можете получить что-то вроде

$_GET[a] = [5,6]

Поддерживает ли это другие языки программирования, как PHP? Это взломать, чтобы передать массив таким образом? Если да, то что лучше всего передавать массив в параметрах GET?

ИМО: его особенность, а не взломать все еще хотят получить мнение сообщества

-2

Решение

Это не хак, это потрясающая функция!

Я думаю, что люди говорят это, потому что это уродливо, если ваши пользователи видят это в URL.

То, что вы можете сделать, это объединить ваши данные, а затем взорвать их на стороне сервера.

http:site.com?a=5_6

explode('_', $a);

1

Другие решения

Это взломать, чтобы отправить массив в параметрах запроса в get?

Это нестандартное дополнение к application / x-www-form-urlencoded (которое изначально не было четко определено), так что да, это хак.

Является ли это умным взломом или уродливым взломом, в значительной степени вопрос мнения. Есть плюсы и минусы.

Поддерживает ли это другие языки программирования, как PHP?

В большинстве языков нет обработки HTTP, встроенной на таком фундаментальном уровне. PHP начал свою жизнь как библиотека для выполнения вещей в стиле CGI, и это видно. Вы действительно должны смотреть на библиотеки для обработки данных формы, а не на языки здесь.

Большинство из них позволит вам расширить дубликаты ключей в строках запроса, не требуя, чтобы имя включало [] (который многословен и труден для чтения), чтобы он работал. Ограничением является то, что вы не можете явно указать индекс массива в данных.

Хотя есть реализации стиля PHP. тело-анализатор позволяет использовать этот синтаксис при указании extended: true, в Perl PHP::ParseStr реализует его, хотя и не интегрирует его с кодом для извлечения строки из запроса.

Если да, то что лучше всего передавать массив в параметрах GET?

Если вы используете PHP, используйте для этого синтаксис PHP.

0

По вопросам рекламы [email protected]