IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Poll It 2.0 - помогите разобраться со скриптом (http://www.imho.ws/showthread.php?t=72222)

Дубровский 29.10.2004 23:51

Poll It 2.0 - помогите разобраться со скриптом
 
Довольно долго искал вмеру простенький скрипт голосования на Перле, и вот нашел именно то что нужно Poll It 2.0! Скрипт просто отличный если бы ни одно 'НО'!
После того как нажимаю на кнопку "голосовать" вываливается сообщение "страница не найдена" :( А в адресной строке браузера, вместо урла странички в которую вшито голосование (использую вариант с SSI) стоит адрес самого скрипта (http:// ... /cgi-bin/vote.cgi). Интересно то, что скрипт свою работу сделал, т.е. посчитал новый голос и записал IP в список проголосовавших, это видно если перезагрузить страницу вручную. Но вот сам перегружать страницу не хочет и все! А самый прикол в том, что на localhoste все работает абсолютно без проблем!!!
Если это поможет, здесь можно посмотреть на проблему так сказать "вживую".
Если кто использует этот скрипт и знает где грабли подскажите ПОЖАЛУЙСТА!!! Или если знаете скрипт похожий на этот, (желательно чтоб cookies использовал для защиты от накруток) поделитесь ссылочкой плз! :help:

Sheryld 30.10.2004 00:09

под ie 6.0 работает...

Al-x 30.10.2004 01:29

Каким браузером пользуетесь?
В Firefox/1.0RC1 работает :)

Asgard 30.10.2004 03:05

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

Дубровский 30.10.2004 13:14

Вложений: 3
Просто мистика какая-то! :confused: Пользуюсь IE6.0 Сейчас попробовал посмотреть в Опере(7.10) - там еще "круче"! Вообщем я сделал скриншоты моих "результатов" голосования, (кстати обратите внимание на причину ошибки в эксплорере) и прикрепил архив с самим скриптом, ребята выручайте! :молись:

Да кстати, забыл добавить. Я думаю от браузера это вряд ли зависит, т.к. на домашнем компе (http://localhost) скрипт прекрасно работает и в опере и в эксплорере :idontnow: Вот такие чудеса...

Asgard 02.11.2004 01:53

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

Что же касается альтернативы, то попробуй посмотреть на www.wosoft.ru в разделе скрипты или на http://cgi.myweb.ru/.

Al-x 02.11.2004 10:44

Судя по скрину из Oper'ы можно предположить, что сервак выдаёт некорректные заголовки. Действительно, попробуй помучить support.

Дубровский 05.11.2004 00:17

Все, корень проблемы найден! Все дело было в установленном на моем компе фаерволе, вообщем когда он отключен, все отлично работает (видимо слишком высокий уровень защиты поставил, хотя ране каких либо проблем подобного рода не замечал) Посему прошу прощения за смуту которую я тут навел :) но тем не менее большое спасибо всем откликнывшимся!
Теперь вопрос N2. Заметил что в скрипте отсутствует защита от накруток с помощью кукисов, вся защита строится только на АйПишках. НО! Допустим мой провайдер каждый раз при соединении выдает мне новый IP т.е. чтобы проголосовать еще раз мне нужно всего лишь переконнектиться! Соответственно вопрос следующий: а есть ли здесь мастера, которые смогут подправить код скрипта и добавить туда проверку кукисов? Думаю подправленный скрипт пользовался бы популярностью и многие мастера были бы признательны редактору! Я сам просто в Перле не особо силен, по этому и обращаюсь к "зубрам" :)
2Asgard: я так понял ты в Перле хорошо разбираешься, что скажешь, реально или нет? Заранее спасибо всем ответившим ;)

Al-x 05.11.2004 00:37

В Перле я не силён, но в своё время делал несколько бредовое голосование на PHP. Суть защиты сводилась к тому, что при входе на сайт человеку выдавалась кука с переменной (допустим) $hasCookie, а при выводе формы голосования проверялось есть ли у человека в куке $hasCookie. Если нет (т.е. куки вуключены), то он может только посмотреть результаты, если есть - то проверялост наличие в куке другой переменной ($voted - ставится во время "отдачи" голоса). Время жизни куки = интервал голосования. Авось поможет :)

Asgard 05.11.2004 01:50

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

Дубровский 05.11.2004 23:03

Цитата:

Сообщение от Asgard
... как только сделаю, дам знать.

Будем ждать... :yees:

Asgard 09.11.2004 01:46

Вот, усё. Выложил только изменённый файл. Теперь скрипт делает доп. проверку по плюшкам. Единственное, что нужно сделать - это дать юзверю при входе на сайт куку такого содержания: "has_cook=ok; path=/".
Если скрипт не видит у юзверя данной плюшки, то поаказывает только результаты голосования, если видит, то позволяет пользователю голосовать(если только он не проголосовал ранее). Далее, в скрипте есть переменная $polltime, ей нужно присвоить дату окончания голосования, т.е то время, когда кука уничтожится.

ЗЫ
Кстати, проверка по плюшкам спасает не особо, т.к

a) разные браузеры хранят куки в разных местах
б) куки всегда могут быть удалены

удач


Часовой пояс GMT +4, время: 21:29.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.