[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать скрипт оценки
vladex
Привет всем!
Подскажите как сделать скрипт оценки статьи, документа, работы примерно как здесь: Ссылка
Заранее спасибо!



Спустя 1 час, 38 минут, 26 секунд (22.01.2009 - 02:00) jetistyum написал(а):
jаvаscript
механизм не сложный. onmouseover на каждую звездочку прописываешь, а жабаскриптом смотришь на какую звездочку наведено и сколько нужно показать закрашеных, сколько незакрашеных.. при onclick вешаешь еще одно событие - которое запускает функцию сабмита с параметрами, ну или просто обычная ссылка, и читаешь параметры из гета.
вроде так.

Спустя 14 часов, 46 минут, 22 секунды (22.01.2009 - 16:47) REANIMATOR написал(а):
Цитата
как сделать скрипт оценки

скрипт звёздочек или скрипт оценки? уточни... а то один на js а другой на php

Спустя 2 часа, 49 минут, 47 секунд (22.01.2009 - 19:36) vladex написал(а):
Не важно как будет представлен скрипт оценки, звездочки, цветочки, солнышки - главное результат. Я раздербанил скрипт который предоставлен тут: Ссылка
Мне непонятен сам вопрос отправки команды при нажатии на какую нибудь звездочку.Как и откуда идет запрос к базе mysql, и как потом результат об уже имеющихся оценках выводится.

Спустя 5 минут (22.01.2009 - 19:41) kirik написал(а):
vladex, запрос идет через Ajax (скорее всего методом GET). Тут можешь глянуть пример, как реализуется передача параметров скрипту "в фоне".

Спустя 16 минут, 32 секунды (22.01.2009 - 19:58) vladex написал(а):
Да там все в сложном варианте, я про пример kirik а, я хочу тот вариант применить.
Вот ссылка на код который я вытащил >>> Ссылка на скрипт

Спустя 6 минут, 39 секунд (22.01.2009 - 20:05) kirik написал(а):
vladex, "Файл не найден".

Спустя 1 час, 22 минуты, 12 секунд (22.01.2009 - 21:27) vladex написал(а):
kirik Все работает biggrin.gif

Спустя 29 минут (22.01.2009 - 21:56) kirik написал(а):
ээм...
vladex, в твоем скрипте нету ни одного аяксового кусочка. Как ты собираешься передавать данные?

Спустя 19 минут, 16 секунд (22.01.2009 - 22:15) vladex написал(а):
А как их туда вставить, подскажите из примера >>> Ссылка


Спустя 1 год, 8 месяцев, 20 часов, 36 секунд (23.09.2010 - 17:31) kspasha написал(а):
Guest
Подскажи пожалуйста!

Спустя 1 год, 2 месяца, 27 дней, 18 часов, 52 минуты, 57 секунд (21.12.2011 - 12:24) m4a1fox написал(а):
Aeron
Умный? Держи!
А если по теме? ТС, вот тут я скидывал такой оценочный скрипт. Там человек наверно не разобрался, но вдруг тебе поможет! Если что в ЛС пиши.

Спустя 5 часов, 29 минут, 24 секунды (21.12.2011 - 17:53) xJlaIIax написал(а):
m4a1fox, а как ты проверяешь что человек уже голосовал?
Записываешь ему Куки и проверяешь если этот Кук есть значит он голосовал и запрещаешь ему голосовать повторно?

А если Кук тут же стереть после записи, то можно проголосовать повторно?

Спустя 27 минут, 49 секунд (21.12.2011 - 18:21) m4a1fox написал(а):
xJlaIIax
Цитата
А если Кук тут же стереть после записи, то можно проголосовать повторно?

Да, в этом спорить не стану. Проблема сущ. но если поднапрячься, то из $_SERVER можно много чего узнать о компе и его владельце, и в итоге, сделать такую систему, что бы проверяла не только наличие куков и ip, а еще много чего. А если сюда привлечь еще и js то вариантов становится вообще много. Например монитор, браузер, ОС, имя компьютера и в итоге, что бы еще раз проголосовать, повторно, после удаления куков вручную, стоит очень сильно поднапрячься, и получается что овчинка выделки не стоит. Так что сделать можно многое, было бы желание.

Спустя 35 минут, 18 секунд (21.12.2011 - 18:56) xJlaIIax написал(а):
Если будут одни Куки, ставим плагин для браузера и открываем каждый раз страницу в новом профиле и голосуем хоть до посинения.
Можно даже через прогу макрос написать, лежать на диване и смотреть как накручивается рейтинг.

Проверка по IP тоже обходится через прокси сервера.

Куки совместно с проверкой по IP.
Пишем Кук и заносим IP проголосовавшего.
Обходим:
1. Открываем страницу в новом профиле - уже Кука нет, но есть наш IP.
2. Через настройки браузера прописываем прокси - уже у нас другой IP.
3. Голосуем повторно.

Какую можно ещё защиту придумать? smile.gif

Спустя 15 минут, 23 секунды (21.12.2011 - 19:12) xJlaIIax написал(а):
Возможность повторного голосования может появится даже без коварного замысла, а по случайности.

Удалились куки через какую то программу очистки, например CCleaner.
IP поменялся потому что он динамический.

Спустя 11 минут (21.12.2011 - 19:23) m4a1fox написал(а):
Писал же
Цитата
А если сюда привлечь еще и js то вариантов становится вообще много. Например монитор, браузер, ОС, имя компьютера

Спустя 4 часа, 52 минуты, 11 секунд (22.12.2011 - 00:15) xJlaIIax написал(а):
Хотелось бы с начало реализовать проверку по IP, но некоторые моменты я не знаю как сделать.

В моём представлении это должно происходить так:
1. В форме голосования рейтинга определяем IP пользователя через функцию $_SERVER["REMOTE_ADDR"] и передаём эти данные в файл обработчика.
Или определяем IP в файле обработчика.
2. В файле обработчика перед выполнение основного кода нужно проверить IP, существует ли такой в базе.
3. Если существует, то выводим сообщение: "Вы уже голосовали" и прекращаем выполнение дальнейшего код.
4. Если не существует, то выбрать старые данные и через перенос строки дописать существующие и занести обратно в базу.

Как проверить IP когда в базе они перечисляются чрез перенос строки к сожалению не знаю и как внести новые данные именно через перенос строки то же.

Спустя 34 минуты, 52 секунды (22.12.2011 - 00:50) m4a1fox написал(а):
Может это и насильственно над БД, но я бы например заносил каждый голос отдельной строчкой!

Спустя 1 час, 26 минут, 41 секунда (22.12.2011 - 02:17) xJlaIIax написал(а):
m4a1fox, не хочется переполнять БД кучей сток.

Цитата (xJlaIIax @ 21.12.2011 - 21:15)
Как проверить IP когда в базе они перечисляются чрез перенос строки к сожалению не знаю и как внести новые данные именно через перенос строки то же.

Придумал только так:
Проверка IP когда в столбце их несколько:

$IP = $_SERVER['REMOTE_ADDR'];
$control = mysql_query ("SELECT `rIP` FROM `data` WHERE `rIP` LIKE '%$IP%'", $db);
if (mysql_num_rows($control) > 0)
{
echo 'Вы уже голосовали.';
exit ();
}

else
{
/*Тут находится основной скрипт.*/
}


Добавление в список проголосовавших нового IP с перенос строки:

$rIP = $myrow['rP'] and '\n' and $IP;


Хотел услышать Ваше мнение, может кто-то что-то подправить в этом коде или предложит своё решение.

Спустя 47 минут, 14 секунд (22.12.2011 - 03:04) inpost написал(а):
xJlaIIax
Молодец, нарушил первую НОРМАЛЬНУЮ форму Баз Данных smile.gif А всё из-за банально глупой мысли о том, что "не хочу переполнять" smile.gif
Ну и кроме этого, что будешь делать с людьми, которые сидят на одной подсети, или общей подсети многих людей smile.gif

Спустя 8 минут, 19 секунд (22.12.2011 - 03:12) xJlaIIax написал(а):
Цитата (inpost @ 22.12.2011 - 00:04)
Ну и кроме этого, что будешь делать с людьми, которые сидят на одной подсети, или общей подсети многих людей smile.gif

Об этом я не подумал...
Не знаю тогда какое тут решение, ставить только куки которые легко обойти...

Спустя 4 часа, 16 минут, 41 секунда (22.12.2011 - 07:29) inpost написал(а):
xJlaIIax
Поищи методы на JS определения компьютера. Раскрывать все не буду, но как минимум можно получить браузер, разрешение экрана, ip, установленные модули. Берёшь этот пакет и сравниваешь.
Защиту делать нужно многоуровневую, если первый уровень прошел, проверять на второй. Все, но только не IP smile.gif

Спустя 16 дней, 16 часов, 19 минут, 58 секунд (8.01.2012 - 23:49) xJlaIIax написал(а):
IP лучше определять на JS или PHP?
Нашёл одну статейку по определению реального IP адреса на PHP.
Эта функция реально работает?

Можно ли определить имя компьютера с помощью PHP?
Например:
echo getenv("COMPUTERNAME");

Спустя 3 часа, 11 минут, 40 секунд (9.01.2012 - 03:00) inpost написал(а):
xJlaIIax
$_SERVER['REMOTE_ADDR'] - реальный, всё остальное - ложь!
getenv("COMPUTERNAME"); - ложь.

Спустя 17 часов, 46 минут, 59 секунд (9.01.2012 - 20:47) xJlaIIax написал(а):
Вы писали что с помощью JS можно определить имя компьютера и сделать проверку по IP и имени.
А что делать если человек зашёл на сайт через телефон?

Спустя 2 часа, 2 минуты, 46 секунд (9.01.2012 - 22:50) inpost написал(а):
Я бы JS вообще не доверял, так как скрипты на стороне клиента - его собственность, что хочет - то туда и добавляет.

Спустя 10 минут, 27 секунд (9.01.2012 - 23:01) xJlaIIax написал(а):
А какой тогда выход? smile.gif
Как же защититься от повторного голосования?
Одни Cookie легко обойти.

Спустя 11 минут (9.01.2012 - 23:12) inpost написал(а):
xJlaIIax
Вот представь, есть на форуме тролли, и их невозможно никак забанить, потому что они спамят, точно так же и в он-лайн голосовании. Любую защиту ОЧЕНЬ просто обойти, кроме как голосования по реальным данным (смс), свой телефон (куда снова смс-отсылка идёт). Только такая экзотика.
На то это и он-лайн голосование, что кроме как "потроллить" нет смысла накручивать.
Можно только хитрить, допустим запоминать разрешение экрана, юзерагент, ip, но защиту делать только по кукам. Человек зная как обойти, будет только обнулять куки и всё, а в итоге при подведении ИТОГОВ голосования отсеять дубли.

Просто для денег и подарков - судьи!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.