Защищенные cookie и смешанное https/http использование сайта

Вы должны использовать две $group стадии здесь. Сначала с id и cate_id и count количество документов и , а затем с id

db.collection.aggregate([
  { "$group": {
    "_id": {
      "id": { "$toLong": "$id" },
      "cate_id": "$cate_id"
    },
    "count": { "$sum": 1 }
  }},
  { "$group": {
    "_id": "

Вы должны использовать две $group стадии здесь. Сначала с id и cate_id и count количество документов и , а затем с id

[110]id.id", "categories": { "$push": { "cate_id": "

Вы должны использовать две $group стадии здесь. Сначала с id и cate_id и count количество документов и , а затем с id

[110]id.cate_id", "count": "$count" } } }} ])

51
задан David Gardner 1 April 2009 в 22:56
поделиться

2 ответа

Решение, которое Вы предлагаете, кажется, что работало бы, пока Вы не возражаете против неавторизованных людей способность просмотреть незащищенную (http) часть сайта, 'как будто они зарегистрированы' - т.е., пока http часть сайта не содержит уязвимой информации, и единственной разницей между зарегистрированным и не-зарегистрированными-пользователями является что-то безопасное в заголовке.

Причиной это не используется очень часто, может быть один из:

  • Этот сценарий не может просто быть очень распространен. Обычно, если бы Вы заботитесь достаточно для создания части сайта безопасной, Вы ограничили бы сессию входа в систему только той безопасной частью, или Вы заставите весь сайт всегда использовать HTTPS (как PayPal).
  • Существующие ранее решения существуют, которые безопасны и которые способны к больше, чем, это, например, входя в систему кто-то в HTTPS входит в форму и поддерживая ту сессию при возвращении их к HTTP. OpenID пример. Также думайте flickr или Gmail: их знаком на странице всегда является HTTPS, но после того как сессия запустилась, Вы мигрируете назад на HTTP при поддержании сессии надежно.

Обновление (август 2014)

Так как я записал обратно это в 2009, практику наличия безопасного соединения для экрана входа в систему, но ронение к HTTP однажды вошло в систему, почти исчез.

Издержки использования HTTPS, всей стороны, больше не рассматриваются как большая часть грандиозного предприятия. Новый протокол SPDY, введенный впервые Google (теперь развитый из HTTP/2), является поддерживаемым перекрестным браузером и главными веб-серверами и улучшает скорость HTTPS.

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

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

31
ответ дан thomasrutter 7 November 2019 в 10:22
поделиться

С точки зрения безопасности Вы никогда не должны доверять никакому содержанию, отправленному по незащищенному соединению. Таким образом, имея это в виду, затем безопасно использовать cookie, отправленный по незашифрованному соединению, только если стоимость воровства или неправильное употребление того cookie являются приблизительно нулем.

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

Если у Вас есть данные, которые не соответствуют тем обобщениям, то не стесняйтесь делать с ними как Вам нравится.

11
ответ дан tylerl 7 November 2019 в 10:22
поделиться
Другие вопросы по тегам:

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