Каталог сайтов - роверка при голосовании
От: DeMx Россия  
Дата: 23.08.05 08:22
Оценка:
Есть каталог сайтов. Самописный, млин. Так вот, все вроде написано и работает. Осталось только сделать проверку на повторное голосование за сайт и голосавание от самого админа. Я просто не много не понимаю сам принцип...
Требуется:
— запретить голосовать одному посетителю больше одного раза за сайт;
— запретить голосовать администратору сайта (тот, кто будет заполнять форму о добавлении сайта в каталог) за свой же ресурс.

Я так понимаю, что все это реализуется записью IP-адреса каждого проголосовавшего в базу. Затем просто нужно будет искать при очередном добавлении голоса совпадения. Плюс еще нужно будет записывать IP'шник админа, чтоб и его потом проверять. Так ли я все это понимаю? Может есть какие-то мелкие ньюансы, облегчающие работу со всем этим? Какие вообще варианты есть? Может эффективней просто в файл все IP'шники записывать?
Первый баскетбольный блог в рунете!

http://basketchance.kulichki.ru/
Re: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 08:28
Оценка:
По поводу идентификации пользователей по IP. А ты не думал, что бывает такое, что юзеры ходят в инет через проксю? Например организация из 1000 человек может сидеть за одной проксей, а ты их всех будешь идентифицировать как одного человека. Или тот же диал-ап — там IP-шник из пула может сотни раз за день выдаваться разным людям...
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[2]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 09:18
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>По поводу идентификации пользователей по IP. А ты не думал, что бывает такое, что юзеры ходят в инет через проксю? Например организация из 1000 человек может сидеть за одной проксей, а ты их всех будешь идентифицировать как одного человека. Или тот же диал-ап — там IP-шник из пула может сотни раз за день выдаваться разным людям...


Вроде есть два варианта для этого: сессия и/или кукование
Re[3]: Каталог сайтов - роверка при голосовании
От: DeMx Россия  
Дата: 23.08.05 12:29
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Здравствуйте, DrZubr, Вы писали:


DZ>>По поводу идентификации пользователей по IP. А ты не думал, что бывает такое, что юзеры ходят в инет через проксю? Например организация из 1000 человек может сидеть за одной проксей, а ты их всех будешь идентифицировать как одного человека. Или тот же диал-ап — там IP-шник из пула может сотни раз за день выдаваться разным людям...


_>Вроде есть два варианта для этого: сессия и/или кукование


А что тогда записывать в куки? У меня нету никакой однозначной идентификации пользователей, голосующих за сайты, т.к. голосование устроено без регистрации (любой прохожий может рейтинг сайту увеличить)...
Первый баскетбольный блог в рунете!

http://basketchance.kulichki.ru/
Re[4]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 12:32
Оценка:
Здравствуйте, DeMx, Вы писали:

_>>Вроде есть два варианта для этого: сессия и/или кукование

DM>А что тогда записывать в куки? У меня нету никакой однозначной идентификации пользователей, голосующих за сайты, т.к. голосование устроено без регистрации (любой прохожий может рейтинг сайту увеличить)...

Нужно создать уникальную переменную сессии — обычно, это случайный длинный набор знаков, и использовать её, как идентификатор.
Re[5]: Каталог сайтов - роверка при голосовании
От: DeMx Россия  
Дата: 23.08.05 12:46
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Здравствуйте, DeMx, Вы писали:


_>>>Вроде есть два варианта для этого: сессия и/или кукование

DM>>А что тогда записывать в куки? У меня нету никакой однозначной идентификации пользователей, голосующих за сайты, т.к. голосование устроено без регистрации (любой прохожий может рейтинг сайту увеличить)...

_>Нужно создать уникальную переменную сессии — обычно, это случайный длинный набор знаков, и использовать её, как идентификатор.


Хм, вот такого мне еще не предлагали. =) А как это сделать?
Первый баскетбольный блог в рунете!

http://basketchance.kulichki.ru/
Re[6]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 12:57
Оценка:
Здравствуйте, DeMx, Вы писали:

_>>Нужно создать уникальную переменную сессии — обычно, это случайный длинный набор знаков, и использовать её, как идентификатор.

DM>Хм, вот такого мне еще не предлагали. =) А как это сделать?

Это, вроде, стандартный способ
Если в PHP, то посмотри здесь
Re[7]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 13:06
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Это, вроде, стандартный способ

_>Если в PHP, то посмотри здесь

Для ASP посмотри здесь
Re[5]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 13:18
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Нужно создать уникальную переменную сессии — обычно, это случайный длинный набор знаков, и использовать её, как идентификатор.


По-моему ты что-то не то человеку советуешь...
При чем здесь "уникальная переменная сессии"??? Ведь вопрос то стоит про голосование без регистрации.
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[4]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 13:18
Оценка:
Здравствуйте, DeMx, Вы писали:

DM>А что тогда записывать в куки? У меня нету никакой однозначной идентификации пользователей, голосующих за сайты, т.к. голосование устроено без регистрации (любой прохожий может рейтинг сайту увеличить)...


Во-первых, если у тебя голосование без регистрации, то отличать пользователей следует по кукам. Но учти что это совсем не 100% способ — парень может и почистить куки, так что он накруток это в общем не спасет...
А в куки писать нужно уникальный id-шник пользователя (можно например брать большой рандом — будет достаточно надежный uid).
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[6]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 13:44
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Здравствуйте, bopka_, Вы писали:


_>>Нужно создать уникальную переменную сессии — обычно, это случайный длинный набор знаков, и использовать её, как идентификатор.


DZ>По-моему ты что-то не то человеку советуешь...

DZ>При чем здесь "уникальная переменная сессии"??? Ведь вопрос то стоит про голосование без регистрации.

Если нет регистрация — то сессия или кука — единственный способ установить, был он здесь или нет, что бы не голосовал по второму разу
Re[7]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 13:46
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Если нет регистрация — то сессия или кука — единственный способ установить, был он здесь или нет, что бы не голосовал по второму разу


Ну при чем здесь сессия? Как ты предлагаешь использовать сессию?
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[8]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 13:58
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Здравствуйте, bopka_, Вы писали:


_>>Если нет регистрация — то сессия или кука — единственный способ установить, был он здесь или нет, что бы не голосовал по второму разу


DZ>Ну при чем здесь сессия? Как ты предлагаешь использовать сессию?

Ну не обязвтельно сессия — просто какой-то уникальный ключ, показывающий, что пользователь там уже был, что то вроде
<input type="hidden" name="unique_key" value="de394582244291a4704271160626bc1b">


При первом входе на страницу пользователь получает этот ключ, и если входит туда ещё раз, производится проверка на наличие этого ключа. Если ключ есть — голосование запрещается.
Re[9]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 14:10
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Ну не обязвтельно сессия — просто какой-то уникальный ключ, показывающий, что пользователь там уже был, что то вроде

_>
_><input type="hidden" name="unique_key" value="de394582244291a4704271160626bc1b">
_>

ИМХО, довольно странный и ненужный гемор с hidden-полем... Зачем оно?

_>При первом входе на страницу пользователь получает этот ключ,


Что значит получает ключ? Куда он его получает?

_>и если входит туда ещё раз, производится проверка на наличие этого ключа. Если ключ есть — голосование запрещается.


Я уже здесь
Автор: DrZubr
Дата: 23.08.05
писал как стоит делать (IMHO).
Повторю еще раз.
1. Когда парень жмет "Проголосовать", проверяем есть ли у него на куках наш uid.
а) если есть — смотрим не голосовал ли он раньше за этот сайт и не админ ли он. Если да — посылаем его. Иначе — защитываем результат голосования и помечаем, что он уже проголосовал за этот сайт.
б) если нет — генерим uid, записываем куку, защитываем результаты голосования, помечаем что проголосовал.
2. При генерации страницы с голосованием проверяем uid на куках. Если он есть и парень уже участвовал в этом голосовании или он админ — вырезаем возможность проголосовать. Иначе — отображаем голосование.
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[10]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 14:23
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Я уже здесь
Автор: DrZubr
Дата: 23.08.05
писал как стоит делать (IMHO).

DZ>Повторю еще раз.
DZ>1. Когда парень жмет "Проголосовать", проверяем есть ли у него на куках наш uid.
DZ>а) если есть — смотрим не голосовал ли он раньше за этот сайт и не админ ли он. Если да — посылаем его. Иначе — защитываем результат голосования и помечаем, что он уже проголосовал за этот сайт.
DZ>б) если нет — генерим uid, записываем куку, защитываем результаты голосования, помечаем что проголосовал.
DZ>2. При генерации страницы с голосованием проверяем uid на куках. Если он есть и парень уже участвовал в этом голосовании или он админ — вырезаем возможность проголосовать. Иначе — отображаем голосование.

Ну и..?
Я про то же самое говорю. Только, если пользователь куку отключит, придётся uid передавать по форме через POST
Re[11]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 14:32
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Ну и..?

_>Я про то же самое говорю. Только, если пользователь куку отключит, придётся uid передавать по форме через POST

Я так понимаю, что тебя убедить невозможно.
И смысл передавать uid через POST? Ведь его тогда придется таскать не только в post-формах, но и в get-ссылках. К тому же после того как пользователь закроет наш сайт, мы его уже не идентифицируем в следующий заход на сайт. И к чему тогда эти танцы с бубном только ради того чтобы не дать юзеру проголосовать несколько раз в течении одного сеанса работы с сайтом??
ИМХО, в данной ситуации, когда нужно сделать голосование без регистрации имеет смысл ориентироваться только на куки, а если они отключены, то посылать такого парня.
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[12]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 14:40
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Здравствуйте, bopka_, Вы писали:


_>>Ну и..?

_>>Я про то же самое говорю. Только, если пользователь куку отключит, придётся uid передавать по форме через POST

DZ>Я так понимаю, что тебя убедить невозможно.

В чём?

DZ>И смысл передавать uid через POST? Ведь его тогда придется таскать не только в post-формах, но и в get-ссылках.

Факт — если нет возможности пользоваться куками, нужно таскать этот uid везде

DZ>ИМХО, в данной ситуации, когда нужно сделать голосование без регистрации имеет смысл ориентироваться только на куки, а если они отключены, то посылать такого парня.


В принципе да, всё остальное имелось в виду "на крайний случай"
Re[13]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 23.08.05 14:51
Оценка:
Здравствуйте, bopka_, Вы писали:

_>Здравствуйте, DrZubr, Вы писали:


DZ>>Я так понимаю, что тебя убедить невозможно.

_>В чём?
В том что в случае DeMx особо нет смысла в сессии (таскание uid через параметр запроса — это фактически та же сессия)

DZ>>И смысл передавать uid через POST? Ведь его тогда придется таскать не только в post-формах, но и в get-ссылках.

_>>Факт — если нет возможности пользоваться куками, нужно таскать этот uid везде
Не факт. Смысл??? Зачем устраивать лишний гемор, который всего лишь не даст проголосовать дважды в течении одной сессии?

DZ>>ИМХО, в данной ситуации, когда нужно сделать голосование без регистрации имеет смысл ориентироваться только на куки, а если они отключены, то посылать такого парня.

_>В принципе да, всё остальное имелось в виду "на крайний случай"
С такими крайними случаями...
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re[14]: Каталог сайтов - роверка при голосовании
От: bopka_ Польша  
Дата: 23.08.05 14:52
Оценка:
Здравствуйте, DrZubr, Вы писали:

_>>В принципе да, всё остальное имелось в виду "на крайний случай"

DZ>С такими крайними случаями...

Ну ладно
Re: Каталог сайтов - роверка при голосовании
От: bodya  
Дата: 23.08.05 23:59
Оценка: 5 (1)
Здравствуйте, DeMx, Вы писали:

DM>Есть каталог сайтов. Самописный, млин. Так вот, все вроде написано и работает. Осталось только сделать проверку на повторное голосование за сайт и голосавание от самого админа. Я просто не много не понимаю сам принцип...

DM>Требуется:
DM>- запретить голосовать одному посетителю больше одного раза за сайт;
DM>- запретить голосовать администратору сайта (тот, кто будет заполнять форму о добавлении сайта в каталог) за свой же ресурс.

DM>Я так понимаю, что все это реализуется записью IP-адреса каждого проголосовавшего в базу. Затем просто нужно будет искать при очередном добавлении голоса совпадения. Плюс еще нужно будет записывать IP'шник админа, чтоб и его потом проверять. Так ли я все это понимаю? Может есть какие-то мелкие ньюансы, облегчающие работу со всем этим? Какие вообще варианты есть? Может эффективней просто в файл все IP'шники записывать?


Все предложенные варианты слабы, если голосующий хоть чуток продвинут.
Предлагаю идентифицировать помимо куки, устанавливаемого при голосовании, (который многие вытрут) по комбинации IP и хидера отсылаемого браузером (только надо внимательно глянуть, что из него брать действительно устойчивого и индивидуального: языковые и MIME приоритеты, плагины и т.д). В таком случае специалист по вытиранию куки сможет проголосовать меньшее количество раз, если же дополнить форму голосования клиентским скриптом записывающим в куки специфическую информацию (разрешение, цветность и т.д.), то можно ещё более повысить вероятность, что не будет отказанно в голосовании двум компьютерам с одного IP и совпадающими хидерами браузеров.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.