Когда могут использоваться скрытые типы ввода? Домашняя страница Google [дубликат]

HttpClient больше не поддерживается в sdk 23. Релиз Android 6.0 (API Level 23) удаляет поддержку для HTTP-клиента Apache. Вы должны использовать

android {
    useLibrary 'org.apache.http.legacy'
    .
    .
    .

, а также добавить ниже фрагмент кода в вашей зависимости:

// http окончательное решение для веб-сервиса (включая загрузку файлов)

compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
}
 compile 'org.apache.httpcomponents:httpclient-android:4.3.5'

Он также поможет вам, пока вы используете Use MultipartEntity для загрузки файлов.

16
задан KRB 6 September 2011 в 20:34
поделиться

12 ответов

Он отправляет дополнительную информацию, которую пользователь не знает или не интересуется (например, токен безопасности), так что, если форма отправляется дважды, вы можете сравнить токены и отклонить / принять это представление.

23
ответ дан Brad Mace 17 August 2018 в 21:43
поделиться
  • 1
    Спасибо за четкий ответ! Существуют ли другие альтернативы, помимо создания параметров в URL? – KRB 6 September 2011 в 20:39
  • 2
    @KRB - Я добавил еще пару способов сделать то же самое. Они не обязательно являются лучшими способами, но они используют их. – Brad Mace 6 September 2011 в 20:56
  • 3
    Я бы не рекомендовал делать это таким образом, кто-то всегда может подделать его и начать возиться. Такие данные должны быть отправлены POST, а не GET. Скрытый вход не должен иметь связи с базами данных. – GwenM 22 January 2016 в 11:03
  • 4
    @Namari Я не могу сказать, против чего вы возражаете. Выбор GET vs POST должен определяться на основании того, имеет ли представление какие-либо побочные эффекты (например, обновление записи) - нет никакой разницы между ними в плане безопасности. Данные всегда должны быть проверены на стороне сервера. – Brad Mace 22 January 2016 в 15:39
  • 5
    @Brad, да, я не знаю, что я написал, но, скажем, GET намного проще подделывать, чем POST, но это не вопрос :) Конечно, вам нужно проверить их обоих, прежде чем что-либо делать с ним. – GwenM 22 January 2016 в 15:45
23
ответ дан Brad Mace 6 September 2018 в 13:54
поделиться
23
ответ дан Brad Mace 29 October 2018 в 20:20
поделиться

Рассмотрим форму, отображаемую для редактирования записи в базе данных, одна из которых - испечь идентификатор этой записи в скрытом вводе и вернуть ее, чтобы сервер мог ее прочитать.

Он также часто используется для целей безопасности (как сказал генезис).

Еще одна причина может заключаться в сценариях, ориентированных на javascript, возможно, для нестандартных элементов управления, таких как древовидные структуры, где концепция выбранного узла не может быть представленный как обычный вход. Вместо этого JS может манипулировать скрытым полем и хранить в нем имя / идентификатор узла, чтобы он мог быть прочитан сервером.

1
ответ дан Andras Zoltan 17 August 2018 в 21:43
поделиться

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

1
ответ дан Cygnusx1 17 August 2018 в 21:43
поделиться

Не использование скрытых входов означает, что серверу необходимо отслеживать эти значения. Это требует от сервера сохранения состояния, которое в противном случае могло бы быть встроено в запрос (форму). Это может сделать страницу RESTless (не RESTful), т. Е. Нарушить самодостаточность HTTP-запроса. Если вы сделали отслеживание скрытых значений на сервере, вам, по крайней мере, нужно будет вставить уникальный токен в каждую форму, чтобы иметь дело с несколькими различными уникальными представлениями одной и той же формы. Самый чистый способ вставить такой токен - это барабан, через скрытый ввод. :) [/ Д2]

2
ответ дан deceze 17 August 2018 в 21:43
поделиться

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

Я сейчас работаю над проектом, когда пользователь создает несколько элементов, которые представлены как объекты данных в JavaScript и сериализуются при отправке на сервер. Эти элементы данных выражаются одним способом при отображении пользователю с помощью HTML, другим способом, как JavaScript, и третьим способом отправки на сервер. Скрытый вход - это только способ выполнить это. (Хорошо, отлично не на самом деле единственный способ, но, безусловно, самый разумный способ).

1
ответ дан gilly3 17 August 2018 в 21:43
поделиться

, потому что у вас есть цикл php while с множеством разных объектов, которые вы не можете получить позже, и вы просто сохраняете их, сохраняя их в скрытом вводе ... также мне нравится, чтобы они были проверкой безопасности на знаю, что мои пользователи не возились с моими переменными post через данные тампера

1
ответ дан GuyFromOverThere 17 August 2018 в 21:43
поделиться

Поле скрытого ввода не отображается на странице, поэтому оно не позволяет посетителям ничего добавлять в него. Скрытый ввод позволяет вам, веб-мастеру, добавлять определенную информацию в форму, которая должна передаваться через процессор формы вместе с данными, введенными посетителем.

Например, если у вас несколько форм на разных страниц на вашем веб-сайте, вы можете использовать скрытый тег в каждой форме, который идентифицирует, на какой странице находился посетитель, когда они заполнили форму.

2
ответ дан Tamara 17 August 2018 в 21:43
поделиться

Скрытый ввод предназначен, когда вы хотите отправить информацию обратно в сообщение, не видя данные пользователем в качестве элемента пользовательского интерфейса.

Веб является апатридом - эрго, когда приходит POST, у вас есть только пара фрагментов информации, чтобы определить, что вам нужно делать; Session, Url, некоторые ServerVariables и данные формы.

Если часть данных является временной, что не полезно для ввода сессии, иногда разумно вводить в скрытое поле.

Они также могут быть полезны для хранения данных на стороне клиента для использования в богатых интернет-приложениях (таких как идентификатор продукта, который легко доступен для использования в вызовах ajax).

2
ответ дан Tejs 17 August 2018 в 21:43
поделиться

Как следует из названия, скрытые поля похожи на другие поля ввода, кроме одной разницы, т. е. скрытые поля фактически не отображаются пользователю и, следовательно, не могут быть отредактированы пользователем. Его значение может быть установлено только во время выполнения т.е. может представлять собой отправку формы, которая отправляет данные на сервер. Но данные, установленные на html-странице i.e. name / value, можно увидеть в html-источнике страницы (просмотреть источник страницы).

0
ответ дан Umesh Samant 17 August 2018 в 21:43
поделиться

Если вы создадите систему тегов, такую ​​как здесь. Вы можете установить значения в скрытое поле.

1
ответ дан Vince V. 17 August 2018 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: