Forum Webscript.Ru

Программирование => PHP => Тема начата: fog от 06 Декабря 2002, 00:00:30

Название: Голосование
Отправлено: fog от 06 Декабря 2002, 00:00:30
Нужно написать голосовалку, вот думаю как бы правильнее её защитить от накрутки... один человек должен голосовать не более одного раза в сутки. Сразу хочу сказать, что с сессиями раньше я не работал, поэтому хочу сейчас обойтись БЕЗ них, так как в такой короткий срок я с ними полностью не разберусь, а написать нужно сразу так, чтобы потом не пришлось переписывать.

Я вижу несколько вариантов:

1. Один IP голосует один раз в сутки.
Но тогда люди сидящие за прокси выпадают. Так как имеют один IP.

2. Хранить информацию о том, что человек голосовал в куки.
Не корректно, куки можно стереть, или вовсе отключить.

Есть ли ещё варианты, или комбинации?
Жду совета :)
Название: Голосование
Отправлено: Меняздесьдавнонет от 06 Декабря 2002, 00:59:47
хе хе
любимый вопрос этого форума :-)

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

По поводу сессий. Сессия - это сеанс работы с сайтом. Зашел человек - сессия. Походил, вышел. Зашел снова - новая сессия.
Сессия - сеанс. Как в кино. А от накруток надо защищать и между сеансами. Так что сессии тут никаким боком. Это просто для информации.
Название: Голосование
Отправлено: Stas от 06 Декабря 2002, 01:04:45
a che slozhnogo v sessiah ?
Gde ty eshio sobiraesh\'sia sohraniat\' dannye o pol\'zovatele ?
Ili na servake, ili u usera na compe...

session_start();
if (!$PHPSESSID) {
  session_register(\'variable\');
//Eto esli tebe nuzhno kakoi-nit\' variable sohranit\'
  }
   else
  {
//     Session sushestvuet..
//     delai chto tebe nuzhno
  }
Название: Голосование
Отправлено: Меняздесьдавнонет от 06 Декабря 2002, 01:12:36
Стасик.
Не давай, пожалуйста, таких советов.
Научись сначала пользоваться сессиями сам :-)
Название: Голосование
Отправлено: Stas от 06 Декабря 2002, 01:21:00
nu a zachem slozhnee.. tak rabotaet..
Название: Голосование
Отправлено: Макс от 06 Декабря 2002, 01:38:20
Stas
Цитировать
if (!$PHPSESSID) {

ИМХО так надежнее (и правильнее) что-то вроде такого:

unset($old);
session_name(\'sid\'); //терпеть не могу \'PHPSESSID\'
session_start();
if (!session_is_registered(\'old\')) {
   // новая сессия
   $old = 1;
   session_register(\'old\');
} else {
   // старая сессия
   ...
}
Название: Голосование
Отправлено: Stas от 06 Декабря 2002, 02:00:18
rebiat.. tut ne mashinu Turinga s drugoi sravnivaem, i ne polinom dlia NP nahodim, dlia reshenia ranee nereshimoi problemy..

Soglasen chto nadezhnee ne polagatsia na $PHPSESSID, a tolku ?
V liubom sluchae, sam ponial, problemu fog\'a eto ne reshaet.. ;)

Spasibo za bolee krasivyi i pravil\'nyi kod. Ia mezhdu prochim zabyl dobavit\' do kakogo momenta session deistvuet.. Vot eto to kak raz k voprosu fog\'a otnosilos\'.. Stranno chto vot etogo nikto ne zametil !! ;)

Romik, a s tocki zrenia poleznosti tvoego otveta, ot 1 do 10 skol\'ko dash\' ? Макс hotia by kod poleznyi napisal !
Название: Голосование
Отправлено: Меняздесьдавнонет от 06 Декабря 2002, 13:34:02
Я дал суперполезный ответ, который осветил все стороны вопроса фога.
То есть 10.
Остальные - в -10, как полный оффтопик.
Полезность любых ответов не в тему всегда будет нулевая.
поэтому я не стал вступать с тобой в дискуссия, а так, легонечко пнул, мимоходом.

Тебе же, я могу лишь посоветовать: если уж берешься отвечать на форуме, то, чтобы не получать пинки каждый раз,  сразу пиши правильный код. Тем более, если понимаешь его ущербность.
Название: Голосование
Отправлено: ThE0ReTiC от 06 Декабря 2002, 13:51:23
fog
Цитировать
защитить от накрутки

Никак. в принципе. Расслабься и получай удовольствие...
Тему можно закрывать.
Название: Голосование
Отправлено: Tronyx от 06 Декабря 2002, 14:03:59
fog как сказал Ромик 100% гарантий нет и быть не может. Самое лучшее это вести лог и время от времени (например 30 мин.) его чистить и заносить результаты в БД. Почитай, на сайте Курепина была серия статей "защита от накруток" - http://kurepin.ru/php/

[тема закрыта]