Забавяне на Submit

24 отговора 430 прегледа
#1

Забавяне на Submit

Имам един сайт за литература, и проблем в него. Въвел съм гласувания за произведения и при нормална ситуация би трябвало всичко да е наред, но народа се изхитри да си гласува сам за себе си и да си вдига рейтинга
За цялостно решение на проблема. ще работя в бъдеще. Сега имам желанието да направя така, че submit-а за гласуване да бъде достъпен чак на 3 минута след отварянето на страницата.
Това до някъде ще ми реши проблемите
Как може да стане това?

Българската литература [линк]
Вече на една година
Отговор
в отговор на Бykвитe #2

Re: Забавяне на Submit

Ами можеш да сложиш някакъв JavaScript дето да изчаква 3 мин. и тогава да визуализира формата, ама това не е никакво решение. Мога да ти видя HTML кода и да видя, каде формата изпраща резултатите от гласуването след това с едно просто скриптче мога да генерирам стотици вота в минута. То 100%-во
решение няма, ама ако записваш последното IP гласувало за дадено произведение, осен това можеш да слагаш cookie и разни други трикчета ...

Отговор
в отговор на Бykвитe #3

Re: Забавяне на Submit

Това е меко казано тъпо решение. Без коментар.
Най-простото което се сещам е ако някой гласува да сетваш някаква сесийна променлива, така ще може да гласува отново ако си затвори браузъра и зареди отново адреса. Поне ще ги затрудниш малко .

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на WiseMan #4

Re: Забавяне на Submit

Това с IP-то го забрави. Ако човека е зад прокси, никой който е зад същото прокси няма да може да гласува. Доста от университетите в БГ са с проксита а студентите са доста активни интернет потребители. Cookie е по-добра идея, но то може да се забрани или да се изтрие.

Айде със здраве!

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #5

Re: Забавяне на Submit

Не разбрах, кое точно решение е тъпо. Дано не е моето(защо пък не хубав спор ще се заформи:))). А ако става въпрос за забавянето на формата определеноо има и по-добри:))).

Отговор
в отговор на ..:: StanProg ::.. #6

Re: Забавяне на Submit

Така е както казах 100% решение няма :))). За proxy-to гадно да, ама с cookie - ако го забрани няма да може да гласува, ако го изтрие същото.
Иначе сесината променлива също е зависима от cookie, ако се забрани пуска сес. id-ти през url-a а и той лесно се трие :(. Пък и ако някой си направи собствен скрипт.

Отговор
в отговор на WiseMan #7

Re: Забавяне на Submit

За 100-те % съм съласен. Относно сесиите, нали в PHP-то имаше два типа сесии: чрез cookie и без cookie.
Я си кажи идеята за cookie-тата, че нещо май не мога да схвана как точно няма да може да гласува ако си ги изтрие?
Това за собствения скрипт може да се предотврати. Просто, човека трябва да проведи от къде идват данните т.е. пълния адрес до скрипта който ги праща. Ако не се правеше проверка, до сега да съм хакнал вафличките

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #8

Re: Забавяне на Submit

Ми да можеме да задълбаваме колкото си искаме :))) (то това му е хубавото)
Значи, за cookie-тата - ми може да има една главна страница дето да забива cookie, след това от друга страница да се гласува, втората да проверява за първата(то се получи сесия:)))) ... всъщност да прав си няма начин да се предпазиш от триенето за cookie-тата . Ама и на проверката от къде се изпращат данните не разчитай (ако има такава,в което се съмнявам в случая) то винаги можеш да модифицираш http header-a...

Отговор
в отговор на WiseMan #9

Re: Забавяне на Submit

Сега, доколкото разбрах... човека искаше да може да се гласува след 3 минути седене на сяйта!?!? (поправете ме ако греша)

Значи.. малка идейка: на index-а примерно се забива една сесийна променлива с текущото време, после на сайта за гласуване се проверява текущото време с това във сесията е с 3 минути по малко и е готово. ако некой изтрие "бисквитката"... пак нема са получи :)

Отговор
в отговор на JohnT #10

Re: Забавяне на Submit

Малка забележка: Никой не е длъжен да влиза в даден сайт през индекса, може с букмарк или от някакъв линк който да не сочи към индекса.

Предполагам, че имаш предвид следното:
Обикновено такива сайтове като на колегата си имат някакви include файлове с хедър, футър..... които се вмъкват във всяка страница. Може да се напише скрипт в тях който да проверява дали променливата за времето съществува и ако не съществува да запише там текущото време. След изпращане на формата и преди да се обнови информацията в базата данни да се провери дали са изтекли 3 минути и ако не са... ше чака..... Като са минали пише в базата данни и инициализира пак минутите.

Тоз вариант ич не го лайквам. Ако някой сайт ми каже, че трябва да изчакам 3 минути за да гласувам, направо удрям хикса.... много съм нервен

Друг много съществен недостатък: ОК минават 3 минути и гласува, инициализира се променливата и той трябва да чака още 3 минути за да гласува за друго нещо. Следователно освен да се предава времето трябва да се указва и ID-то на това нещо за което е гласувал т.е. сесийна променлива масив. Както виждм в случая ще имам доста елементи масива.... С две думи: драма, драма

Дай да доразвием идеята със сесиите и cookie-тата, че ми се вижда най-удобна за посетителите а и за кодера.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #11

Не е точно така

идеята е че за около 3 мин се изчита произведението. Т.е отваряш страницата със съответното поизведение, четеш и накрая гласуваш.
А всичките варианти с кукички и IP_та не стават, щото са около 2000 произведения и нарастват.
Той ако му е кеф да ги обикаля подред и да си гласува - аз какво да пазя в кукито, то ще стане огромно.

Това е основния проблем, а не невъзможноста за проверка. Затова се спрях на забавянето като най смислено.

Българската литература [линк]
Вече на една година
Отговор
в отговор на Бykвитe #12

ОК! Съгласен съм,

не разбрах само удовлетвори ли те решението на JohnT или не?
Въпроса беше интересен и за това се поувлякохме и отклонихме от малко от конкретния въпрос. Мен лично от около седмица ме вълнува точно това, как да се предотврати многократно гласуване по даден въпрос или поне максимално да се затрудни.

При теб нещата стоят по малко по-друг начин, понеже за да се гласува за дадено произведение трябва все пак да се прочете.
Както и да е.... надявам се дискусията да продължи...

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на Бykвитe #13

Re: Забавяне на Submit

abe .. shto da ne napravish autorizacia za useri i vseki user da moje da glasuva samo edin put za edno neshto i parolata za autorizacia da se prashta na emal zaedno s proverka za tova dali tozi email go ima ili ne veche v database-a.

suma ti problemi shte ti se mahnat ot glavata s tazi rabota.

Отговор
в отговор на xc #14

Щото просто

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

Българската литература [линк]
Вече на една година
Отговор
в отговор на xc #15

Re: Забавяне на Submit

Бе StanProg e прав, въпроса е много интересен и е хуваво да се помисли за максимално затрудняване на повторното гласуване. Ако се правят account-и на всички усери това е OK, ама ако им плащаш за да гласуват иначе забрави. Не знам за теб ама аз не си представям да взема да се регистрирам, да попълвам форми, да гласувам, давайки си e-mail-a и рискувайки да не се отърва от тъпи реклами. След това ще трябва да чакам евентуално някой претоварен mail сървър да достави това писмо и след това да си проверявам mail-a ... и всичко това примерно за да гласувам за някакво произведение дето просто ми е харесало малко повече от останалите. Оставете тази идея трябва да се измисли комбинация от различни неща, които да затрудняват максимално.

Отговор
в отговор на Бykвитe #16

Re: Не е точно така

mi registriraj si virtualno posetitelia - edno cookie s niakakvo ID (vmetka, az bih polzval primerno 20 sluchajni simvola vmesto ID), koeto e kriptirano primerno, posle lesno mojesh da suhraniavash dannite vmesto v cookies - v tablica na servera.

ako choveka ima cookie v browsera si - shte znaesh koj e, ako niama - shte si podozritelen :) osven tova mojesh da pridavash po-goliama tejest na hora, glasuvali za 10 i poveche proizvedenia, primerno.

predi vreme mi se naloji i si igrah igrichka tochno v tazi oblast. Adski si lichi, kogato se cheat-va. Dori da vkluchite trojan-network ot cheat-vashti computri sus sluchajno povedenie i podavashti raznoobrazni (a ne ednoobrazni) headeri, pak shte si lichi (po mashtabite na bedstvieto;).

V sluchaja cookie+ip e chudesna zashtita spored men.

Редактирано от dzver на

Отговор
в отговор на xc #18

Re: Забавяне на Submit

dobre... hubavo, saglasen sum.

to neshto podobno beshe napraveno v konkursa na bulgarskia site .. mai dosta izloviha togava.

Отговор
в отговор на Бykвитe #19

Като идея...

След като трябва посетиля минимум три минути да отдели за четене на произведение, няма да е трудно да го накараш да попълни форма която да му отнеме примерно 1 минута...
Като забележка : Вариант - ако съм чел призведенията и идвам само да гласувам три минути ще са ми много - предпочитам да съм попълнил форма и да си гласувам на воля :)

Запис на информацията (та дори и тази която си решил да пазиш в бисквитката) в Таблица от БД. Мисля че това е най-удачният вариант от предпазване от изтриването на бисквитките. А и не навсякъде браузърите поддържат бисквитки.

ИДЕЯТА: По възможност, потребителте да се регистрират. Таблица в която да записваш гласуванията с информация по твой избор, скрипт за контрол.

"Буквите" са ЧУДЕСНИ ! Поздравления !!!

ИНФОРМАТОР
[линк]
Отговор
в отговор на dzver #20

Аз точно от тази таблица

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

Българската литература [линк]
Вече на една година
Отговор