хм, что не так со скриптом?

Vadimka

Новичок
хм, что не так со скриптом?

есть голосование, производится методом ПОСТ и только пользователям с сессией и есть возможность повторного голосования раз в месяц
дело в том что все равно удается голосовать в течение часа...

PHP:
if($Q==2 && $imd && $id && $_SESSION["login"] && $_SESSION["idlogin"] && $_SERVER["REQUEST_METHOD"]=='POST' && preg_match("/mysite.net/i", $_SERVER["HTTP_REFERER"])) {

list($cnt3)=mysql_fetch_row(mysql_query("SELECT i FROM golos WHERE id='$imd' and idkto='$_SESSION[idlogin]' and TO_DAYS(NOW()) - TO_DAYS(d7) <= 30"));

if(!$cnt3){
$q="INSERT IGNORE golos (id,idkto,idlogin) values('$imd','$_SESSION[idlogin]','$_SESSION[login]')";

$rt=mysql_query($q);echo mysql_error();
}
}
 

Фанат

oncle terrible
Команда форума
ты хочешь, чтобы мы отлаживали твою программу за тебя?
 

Vadimka

Новичок
Автор оригинала: Фанат
ты хочешь, чтобы мы отлаживали твою программу за тебя?
при чем тут отлаживали??
4 строки кода -целая программа??!!!
вопрос в дурогом каким образом у пользователя может быть возможность накручивать голоса?? что можно применить чтобы исключить возможность накрутки??
 

Фанат

oncle terrible
Команда форума
при чем тут отлаживали??
при том, что если у тебя программа не работает, её надо отлаживать
4 строки кода -целая программа
да хоть одна
вопрос в дурогом каким образом у пользователя может быть возможность накручивать голоса??
вот, путём отладки, и выясняй.
Здесь написано подробнее: PHP FAQ: Ничего не работает! Что делать??? (текст читать ЦЕЛИКОМ, а не токльо про еррор репортинг.)

и сбавь обороты.

-~{}~ 16.04.05 13:55:

если хочешь, чтобы тебе нашли ошибку в логике - опиши её словами.
 

Vadimka

Новичок
офигеть, вот это помощь :)
во первых программа работает и я хочу ее усовершенствовать с помощью людей знающих как это сделать
во вторых что отлаживать если я еще не знаю каким образом есть возможность накрутки
в третьих о каких оборотах ты со мной говоришь, может ты от главной темы отходишь?

-~{}~ 16.04.05 13:57:

Автор оригинала: Фанат
при том, что если у тебя программа не работает, её надо отлаживать

да хоть одна

вот, путём отладки, и выясняй.
Здесь написано подробнее: PHP FAQ: Ничего не работает! Что делать??? (текст читать ЦЕЛИКОМ, а не токльо про еррор репортинг.)

и сбавь обороты.

-~{}~ 16.04.05 13:55:

если хочешь, чтобы тебе нашли ошибку в логике - опиши её словами.
.. а я о чем говорю, пользователь накручивает голоса, а вот каким образом я немогу понять?? понимаешь??
 

SiMM

Новичок
> первых программа работает
Тогда от нас то ты чего хочешь? Солнце всходит? Солнце заходит? Вот и не трогай ничего.

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

> а я о чем говорю, пользователь накручивает голоса, а вот каким образом я немогу понять??
Тебя просили описать словами ЛОГИКУ твоей проверки. А не рассказывать про подземный стук и накрутки.
 

Фанат

oncle terrible
Команда форума
я не буду с тобой спорить.
у тебя есть два пути. Понять, что я тебе пишу, или идти искать помощи в другом месте.

Объясняю один раз, последний.
Задача программы предотвращать накрутку, но она её не предотвращает.
Если твоя программа работает не так, как надо - значит, она НЕ РАБОТАЕТ.
Если программа не работает - надо её отлаживать.
Как отлаживать - написано по ссылке, которую я тебе дал.

Впрочем, ты уже начал её отлаживать. Выяснил, что проблема в том, что программа позволяет проголосовать повторно в течение часа. То есть, речь идёт не о какихто накрутках, а о вполне понятной операции.
вот и выясняй - почему позволяет.
 

Vadimka

Новичок
я выяснил о возможности накрутки путем просмотра в базе наличия записи от одного и того же пользователя в течение часа, но у меня лично повторно запись не добавляется
вот почему и был задан вопрос, тем более что я ожидал на форуме получить помощь не в написании скрипта, а в причинах из-за которых возможно осуществить накрутку..
надеюсь я объяснил...
 

Фанат

oncle terrible
Команда форума
причину ты должен искать сам. в своём скрипте.
поскольку она не в каких-то мифических накрутках, а в том, что твой скрипт, твоя проверка, даёт записать повторно.
надеюсь я объяснил
 

SunDrop

Помощник поисков. робота
Вопрос на засыпку...
Что будет если я вместо $imd передам "qwerty" или еще какую-то бяку?
 
Сверху