Nano Hash - криптовалюты, майнинг, программирование

Должен ли я использовать Request.Params вместо явного выполнения Request.Form?

Я использую Request.Form для всего своего кода. И если мне нужна строка запроса, я тоже нажимаю ее явно. В обзоре кода выяснилось, что вместо этого мне, вероятно, следует использовать коллекцию Params.

Я подумал, что это лучшая практика - напрямую попасть в соответствующую коллекцию. Я ищу какое-то подкрепление той или иной стороне аргумента.

15.09.2009

Ответы:


1

Безопаснее использовать Request.Form. Это не позволит пользователям «экспериментировать» с параметрами опубликованной формы, просто изменив URL-адрес. Использование Request.Form не делает это безопасным для «настоящих хакеров», но ИМХО лучше использовать коллекцию Form.

15.09.2009
  • До сих пор, я думаю, вы ответили именно на то, что я искал, чтобы не убить интерес к этому вопросу, я отмечу это так, завтра 15.09.2009

  • 2

    Используя свойства в запросе, вы сужаете поиск до нужной коллекции (что хорошо для удобочитаемости и производительности). Я считаю ваш подход лучшей практикой и сам ему следую.

    15.09.2009
  • +1. Многие люди не знают, что коллекция Params также содержит Cookies и ServerVariables в дополнение к Form и QueryString. 15.09.2009

  • 3

    Я всегда использовал Request.Form("Param") или Request.QueryString("Param")

    Это связано исключительно с синтаксисом, который легче читать. Я серьезно сомневаюсь, что есть влияние на производительность.

    15.09.2009

    4

    Единственный раз, когда я использую Request.Params вместо Form или Querystring, это если я не знаю, будет ли метод, которым будут переданы параметры.

    Для сравнения, за 10 лет я использовал Request.Params в гневе только один раз :)

    Доброта,

    D

    15.09.2009

    5

    Я думаю, что лучше явно использовать коллекции Form и QueryString, если вы явно не пытаетесь определить гибкое поведение в своем приложении, например, в форме поиска, где вы можете захотеть, чтобы параметры поиска определялись в URL-адресе или сохранялись в файлах cookie, таких как нумерация страниц. предпочтения.

    15.09.2009

    6

    Я бы явно использовал Request.Form и Request.QueryString. Причина в том, что они не взаимозаменяемы. Строка запроса используется для HTTP-запросов Get, а переменные FORM — для HTTP-запросов post.

    Запросы на получение обычно применимы, когда вы запрашиваете данные, например. выполните поиск в Google, слова для поиска находятся в строке запроса. Сообщение — это когда вы отправляете данные на веб-сервер для обработки или хранения. Поэтому, когда я говорю, что они не взаимозаменяемы, я имею в виду, что вы не можете изменить страницу с использования GET на POST без нарушения функциональности.

    Итак, ИМХО, реализация страницы может довольно четко отражать тот факт, что вы намереваетесь вызвать ее запросом GET или POST.

    /Пит

    15.09.2009
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..