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

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

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

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


Все предложенные варианты слабы, если голосующий хоть чуток продвинут.
Предлагаю идентифицировать помимо куки, устанавливаемого при голосовании, (который многие вытрут) по комбинации IP и хидера отсылаемого браузером (только надо внимательно глянуть, что из него брать действительно устойчивого и индивидуального: языковые и MIME приоритеты, плагины и т.д). В таком случае специалист по вытиранию куки сможет проголосовать меньшее количество раз, если же дополнить форму голосования клиентским скриптом записывающим в куки специфическую информацию (разрешение, цветность и т.д.), то можно ещё более повысить вероятность, что не будет отказанно в голосовании двум компьютерам с одного IP и совпадающими хидерами браузеров.
Каталог сайтов - роверка при голосовании
От: 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[7]: Каталог сайтов - роверка при голосовании
От: raskin Россия  
Дата: 24.08.05 13:31
Оценка:
bopka_ wrote:
> Если нет регистрация — то сессия или кука — единственный способ
> установить, был он здесь или нет, что бы не голосовал по второму разу

И то "от честных людей" — не помогает от тех, кто хочет.
Posted via RSDN NNTP Server 2.0 beta
Re[2]: Каталог сайтов - роверка при голосовании
От: raskin Россия  
Дата: 24.08.05 13:36
Оценка:
bodya wrote:
> Все предложенные варианты слабы, если голосующий хоть чуток продвинут.
> Предлагаю идентифицировать помимо куки, устанавливаемого при
> голосовании, (который многие вытрут) по комбинации IP и хидера
> отсылаемого браузером (только надо внимательно глянуть, что из него
> брать действительно устойчивого и индивидуального: языковые и MIME
> приоритеты, плагины и т.д). В таком случае специалист по вытиранию куки
> сможет проголосовать меньшее количество раз, если же дополнить форму
> голосования клиентским скриптом записывающим в куки специфическую
> информацию (разрешение, цветность и т.д.), то можно ещё более повысить
> вероятность, что не будет отказанно в голосовании двум компьютерам с
> одного IP и совпадающими хидерами браузеров.

Накрутчик вынужден будет взять FF+UserAgentSwitcher или учить HTTP. Даже
в этом случае польза будет. Хорошее решение.
Posted via RSDN NNTP Server 2.0 beta
Re[3]: Каталог сайтов - роверка при голосовании
От: DrZubr Беларусь  
Дата: 24.08.05 15:37
Оценка:
Здравствуйте, raskin, Вы писали:

R>Накрутчик вынужден будет взять FF+UserAgentSwitcher или учить HTTP. Даже

R>в этом случае польза будет. Хорошее решение.

А также обламаются все юзвери сидящие за одной проксей, у которых стоит одинаковый браузер. Чаще всего в организациях железо ставится практически одинаковое, да и систему настраивает один админ...
... << RSDN@Home 1.2.0 alpha rev. 584>>
ICQ [168117153]
Re: Каталог сайтов - роверка при голосовании
От: XPGeeK Украина  
Дата: 30.08.05 15:44
Оценка:
Здравствуйте, DeMx, Вы писали:

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

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

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


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

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

З.Ы. Забей на все проверки, пускай все голосуют столько сколько им надо. Единственное с помощью сессий,
можеш запретить голосовать в одном сеансе более 2 раз!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.