информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Ёпт, естественно разные! 21.09.09 03:15  Число просмотров: 1494
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> Куки одни и те же для двух экземпляров программ?
Ёпт, естественно разные!

>А кто мешает наладить нормальное межпоточное взаимодействие?
> Мьютексы в зубы и проблема в контексте одной системы решена
При таком подходе пока один поток грузит свои данные другой будет заблокирован. Получается многопоточная программа, которая работает также как и однопоточная.

> Рельно браузер можено идентифицировать только по ip и (или) кукам.
> По скольку используются разные прокси, то вариант с ип-адресом
> отпадает.
Я уже третье сообщение подряд говорю, что IP и куки разные для каждого потока, но тем не менее афёра не проходит. Но! Та же самая афёра проходит для разных процессов. Почему?
<programming>
[Win32] Ограничивает ли библиотека Wininet проходящий через неё трафик? 20.09.09 13:32  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 20.09.09 13:33  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Есть сервер с каналом доступа в интернет 100 mbit. Пишу программу, которая загружает контент с разных страниц. Программа пользуется услугами библиотеки WinInet. Для ускорения обработки контента я создаю сразу несколько потоков, которые получают данные из Интернет.

Вот только прироста в скорости это не даёт: что 20 потоков используют только 2.5 mbit от всего трафика, что 200, что 1000, но при этом все потоки создаются и все в интернет стучатся. А если запустить 2 копии программы, то используется уже 5 mbit трафика.

Как такое объяснить? Библиотека Wininet накладывает ограничение на используемый трафик? Систему программа практически не грузит. В диспетчере задач "Бездействие системы" не опускается ниже 90%.
Вопрос по-прежнему актуален. 22.09.09 08:22  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Второй вопрос (как сайты узнают, что на них заходят с одного... 26.09.09 09:41  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Второй вопрос (как сайты узнают, что на них заходят с одного компа, если куки и IP разные) тоже разрешился. Стыдно признаться, но это был мой касяк: я случайно поместил строковую переменную не в функцию потока, а в глобальную область видимости, и из-за этого у всех потоков были одинаковые куки.

PS. Целую неделю из-за этой проблемы мучался, а оказалось, что одна строчка кода виновата!
Спасибо, мужики! Оба решения помогли! Но вот ещё один вопрос. 20.09.09 15:40  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 20.09.09 15:41  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Как тот или иной сайт определяет, что два пользователя зашли с одного компьютера, если я использую платные анонимные прокси?

Когда я двумя потоками (у каждого из которых свои заголовки и куки) захожу на сайты требующие авторизации, то один из потоков обламывается. Когда запускаю две программы параллельно (каждая с одним потоком), то та же самая комбинация проходит на ура (обе программы авторизуются и все довольны).
[Win32] Если прокси для каждого подключения свои, то на вскидку - очевидная проблема - куки, которые wininet хранит в куче для одного процесса. возможно поможет шаманство с InternetGetCookie - InternetSetCookie для каждого подключения. 20.09.09 16:20  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 20.09.09 16:22  Количество правок: 2
<"чистая" ссылка> <обсуждение закрыто>


MSDN, InternetGetCookie
Нет, насколько я понимаю проблема не в этом. Я вызываю... 20.09.09 16:33  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 20.09.09 16:45  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Нет, насколько я понимаю проблема не в этом. Я вызываю функцию HttpOpenRequest с параметром INTERNET_FLAG_NO_COOKIES, благодаря этому Wininet игнорирует ответ сервера "set-cookie". А при соединении я сам устанавливаю те куки, которые мне нужны добавляя их к заголовку запроса.

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

PS. Internet(Set/Get)Cookie в данном случае неприменимы, т.к. нет возможности использовать их исключительно для одного потока (они влияют сразу не только на все потоки конкретного процесса, но и вообще на все процессы).

В ообщем, мне кажется, что пробема не в куках, ну а в чём именно я так и не смог понять. Надеюсь на помощь компетентных людей.
Куки одни и те же для двух экземпляров программ? 20.09.09 17:57  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Нет, насколько я понимаю проблема не в этом. Я вызываю
> функцию HttpOpenRequest с параметром
> INTERNET_FLAG_NO_COOKIES, благодаря этому Wininet
> игнорирует ответ сервера "set-cookie". А при соединении я
> сам устанавливаю те куки, которые мне нужны добавляя их к
> заголовку запроса.
>
> Поэтому мне кажется, что проблема не в куках. Может быть я
> и не прав, но свои вышеописанные слова я проверял на
> локальном прокси-сервере, в котором видны все заголовки и
> контент. Плюс, если бы дело было в куках, то "афёра" с
> двойным запуском программы также не удалась бы, а она
> работает.
>
Куки одни и те же для двух экземпляров программ?

> PS. Internet(Set/Get)Cookie в данном случае неприменимы,
> т.к. нет возможности использовать их исключительно для
> одного потока (они влияют сразу не только на все потоки
> конкретного процесса, но и вообще на все процессы).
А кто мешает наладить нормальное межпоточное взаимодействие? Мьютексы в зубы и проблема в контексте одной системы решена
>
> В ообщем, мне кажется, что пробема не в куках, ну а в чём
> именно я так и не смог понять. Надеюсь на помощь
> компетентных людей.
Рельно браузер можено идентифицировать только по ip и (или) кукам. По скольку используются разные прокси, то вариант с ип-адресом отпадает.
Ёпт, естественно разные! 21.09.09 03:15  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
> Куки одни и те же для двух экземпляров программ?
Ёпт, естественно разные!

>А кто мешает наладить нормальное межпоточное взаимодействие?
> Мьютексы в зубы и проблема в контексте одной системы решена
При таком подходе пока один поток грузит свои данные другой будет заблокирован. Получается многопоточная программа, которая работает также как и однопоточная.

> Рельно браузер можено идентифицировать только по ip и (или) кукам.
> По скольку используются разные прокси, то вариант с ип-адресом
> отпадает.
Я уже третье сообщение подряд говорю, что IP и куки разные для каждого потока, но тем не менее афёра не проходит. Но! Та же самая афёра проходит для разных процессов. Почему?
[win32] изначально - нет, но, судя по твоему предыдущему посту работа ведется через прокси. прокси является сервером. предполагаю, что решение рядом: internetsetoption() internet_option_max_conns_per_server 20.09.09 15:15  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 20.09.09 15:24  Количество правок: 4
<"чистая" ссылка> <обсуждение закрыто>
msdn.microsoft.com/en-us/library/aa385328(VS.85).aspx

http://www.google.ru/search?q=internet_option_max_conns_per_server+msdn
[Win32] Да, ограничивает. 20.09.09 14:59  
Автор: ryo-oh-ki Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>


WinInet limits connections per server
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach