Forum Webscript.Ru
Программирование => PHP => Тема начата: fog от 06 Декабря 2002, 00:00:30
-
Нужно написать голосовалку, вот думаю как бы правильнее её защитить от накрутки... один человек должен голосовать не более одного раза в сутки. Сразу хочу сказать, что с сессиями раньше я не работал, поэтому хочу сейчас обойтись БЕЗ них, так как в такой короткий срок я с ними полностью не разберусь, а написать нужно сразу так, чтобы потом не пришлось переписывать.
Я вижу несколько вариантов:
1. Один IP голосует один раз в сутки.
Но тогда люди сидящие за прокси выпадают. Так как имеют один IP.
2. Хранить информацию о том, что человек голосовал в куки.
Не корректно, куки можно стереть, или вовсе отключить.
Есть ли ещё варианты, или комбинации?
Жду совета :)
-
хе хе
любимый вопрос этого форума :-)
Чтобы ты расслабился, знай - защититься от накрутки невозможно в принципе.
что один человек сделал, другой завсегда поломать сможет.
Улавливаешь суть?
По поводу сессий. Сессия - это сеанс работы с сайтом. Зашел человек - сессия. Походил, вышел. Зашел снова - новая сессия.
Сессия - сеанс. Как в кино. А от накруток надо защищать и между сеансами. Так что сессии тут никаким боком. Это просто для информации.
-
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
}
-
Стасик.
Не давай, пожалуйста, таких советов.
Научись сначала пользоваться сессиями сам :-)
-
nu a zachem slozhnee.. tak rabotaet..
-
Stas
if (!$PHPSESSID) {
ИМХО так надежнее (и правильнее) что-то вроде такого:
unset($old);
session_name(\'sid\'); //терпеть не могу \'PHPSESSID\'
session_start();
if (!session_is_registered(\'old\')) {
// новая сессия
$old = 1;
session_register(\'old\');
} else {
// старая сессия
...
}
-
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 !
-
Я дал суперполезный ответ, который осветил все стороны вопроса фога.
То есть 10.
Остальные - в -10, как полный оффтопик.
Полезность любых ответов не в тему всегда будет нулевая.
поэтому я не стал вступать с тобой в дискуссия, а так, легонечко пнул, мимоходом.
Тебе же, я могу лишь посоветовать: если уж берешься отвечать на форуме, то, чтобы не получать пинки каждый раз, сразу пиши правильный код. Тем более, если понимаешь его ущербность.
-
fog
защитить от накрутки
Никак. в принципе. Расслабься и получай удовольствие...
Тему можно закрывать.
-
fog как сказал Ромик 100% гарантий нет и быть не может. Самое лучшее это вести лог и время от времени (например 30 мин.) его чистить и заносить результаты в БД. Почитай, на сайте Курепина была серия статей "защита от накруток" - http://kurepin.ru/php/
[тема закрыта]