Autor Zpráva
PetraMachova
Profil *
Dobrý den,
jsem už v programování více méně zběhlá i s použitím mySQL, ale i tak potřebuji pomoci.

Hledám už nějaký hotový script pro svou anketu. Script by měl být ověřovací, tj. spojení s cookie a IP adresou? ... Samozřejmě myšleno jak s IP4, tak i s IP6 aby to fungovalo. Má někdo takový script i s tabulkou mySQL? Chtěla bych to použít na hlasování u ankety ... řekněme 1 hlas za 24 hodin.

Dalši vnitřnosti si už udělám sama i včetně administrace. Jde mě jen o ten ověřovací script ohledně hlasování.

Moc vám tímto děkuji.
PS: Na internetu jsem něco našla, ale zvláště u mySQL při ukládání IP4 zde není možnost použítí IP6 a celkově scripty jsou takové odfláklé (omlouvám se za to slovo) včetně použítí tabulek mySQL.
Keeehi
Profil
PetraMachova:
Jak si představuješ, že by mělo spojení cookie a ip fungovat?
PetraMachova
Profil *
Nevím, ráda si nechám poradit.
Darker
Profil
PetraMachova:
při ukládání IP4 zde není možnost použítí IP6
To asi nebude složitá úprava. Pokud se IP adresa ukládá jako text, prostě se jen velikost sloupce o pár znaků zvětší.

spojení s cookie a IP adresou
Ne, buď bude anketa na uživ. účet (oravné pro uživatele) a nebo na IP. Jiná řešení jdou tak či onak přečůrat. Tobě asi šlo o to, umožnit hlasování všem počítačům v síti - to bohužel nepůjde.
Keeehi
Profil
kontrola cookies: + dokáže přesně "zacílit" počítač; - stačí cookies smazat, nebo je vůbec nepřijímat/neodesílat a ty jsi nahraná
konrola ip: + nedá se vypnout; - více počítačů se ti bude hlásit se stejnou IP (typicky jsou to bytovky, školy a jiné instituce, vesnice), - i IP adresa jde změnit

cookies jsou jako opatření málo restriktivní, IP je zase restriktivní moc.


no a kombinace
c - cookies, ip - IP, T - označeno jako hlasoval, F - označeno jako nehlasoval

Jediná bezproblémová kombinace je:
c=T, ip=T - tady se není o čem bavit, prostě už hlasovat nemůže

Tady už nastávají problémy
c=T, ip=F - buď se tu snaží někdo změnit podvádět (změnil si IP) a nebo za tu změnu vůbec nemůže (dynamická IP, notebook s připojením jednou doma podruhé v práci, atd.) Hlasovat mu tak jako tak nedovolíme, ale nepoznáme, o jaký případ jde. I když by nám to vlastně mohlo být jedno.
c=F, ip=T - případ a) někdo si smazal cookies, případ b) hlasoval soused, spolužák, spolupracovník nebo někdo, kdo je zrovna ve stejné kavárně jako já. V případě a) bychom měli hlasování zakázat, v případě b) zase povolit. Případy však nedokážeme rozlišit, takže co s tím?
c=F, ip=F - případ a) někdo nový, případ b) někdo kdo hlasoval, ale mění se mu IP a neodesílá či maže cookies (no a buď za to nemůže, nebo to může dělat úmyslně a chce podvádět). Zase to nedokážeme rozlišit, tak co zase s tím?

            A   B   X   Y
c=T, ip=T | 0 | 0 | 0 | 1 |
c=T, ip=F | 0 | 0 | 0 | 1 |
c=F, ip=T | 0 | 1 | 0 | 1 |
c=F, ip=F | 1 | 1 | 0 | 1 |
1 = nechám hlasovat, 0 = nenechám hlasovat

A) útočník musí měnit jak IP, tak mazat cookies; poctivému uživateli nemusí být umožněno hlasování, jelikož hlasoval třeba soused
B) útočníkovi stačí smazat cookies; poctivý uživatel může hlasovat vždy - poznámka: v této variantě nezáleží vůbec na IP
X) nemáme anketu - nejbezpečnější způsob
Y) nechráněná anketa

Jak je vidět, buď omezíme poctivé, kteří by měli mít právo hlasovat, ale anketu nezabezpečíme, nebo anketu víceméně zabezpečíme, avšak doplatí na to podctivci

Máme ještě variantu Z - registrace, ne že by byla nějak extrémně bezpečná, ale "neomezuje" poctivé a nepoctivcům většinou registrace zabere většinou více času, než smazání cookies a změna IP. To neomezuje je v uvozovkách proto, že neomezuje ve smyslu možnosti hlasovat. Pokud o to dotyčný bude stát, hlasovat může, ale musí se registrovat, což je omezující. Já bych se tedy kvůli anketě nikde neregistroval. Pak je tu ještě možnost přihlášení na základě FB, google, twitter a jiných účtů, ale to zase nemá každý a ani v tomto případě bech se já osobně ankety neúčastnil, přesto že mám všechny tři.

+ ještě je tu varianta Y* neboli finta fň - pokud je to anketa s omezenou platností (k nějakému okamžiku se ukončí a nadále není možné hlasovat). Anketa se nechá nezabezpečená, ale IP i cookies se ukládají. Po skončení ankety se podvodné hlasy smažou. Tento typ ochrany počítá s lidskou leností. Pokud si můžu v anketě naklikat kolik chci hlasů, tak proč bych se zatěžoval s měněním IP a mazáním cookies? Tato varianta je přinejhorším stejně účinná jako varianty A a B (podle toho, jak moc přísní při mazání budeme) + navíc odfiltrovává ty, kteří by si měnili IP a mazali cookies, ale jeliož nevěděli, že čistka proběhne na konci a číslíčka jim vesele naskakovala, tak to neudělali.

Shrnutí závěrem: cookies jsou tak nestálé a lehce měnitelné, že o ochraně skoro nemůže být řeč. IP je zase restriktivní moc (ta bude snad použitelná až když každé zařízení bude mít svojí IPv6 adresu a IPv4 se nebude používat. To však dříve než za 10 let nejspíše nebude) a i přesto, pokud by o to opravdu šlo se dá změnit. Registrace je zatím nejbezpečnější avšak otravná.
Jan Tvrdík
Profil
Docela běžně je zamezit opakovanému hlasování ze stejné IP adresy třeba na 30 minut.
PetraMachova
Profil *
Moc děkuji za vysvětlení. Mě více méně nejde o 100% zabezpečení. Znalý člověk dokáže IP adresu změnit přes jiný proxy server, coookie si hravě smaže. Mě šlo spíše o ty méně dokonalé lidi, kteří tohle neví.

Já aktuálně jsem třeba na IP adrese, kterou poskytovatel internetu má použitou u většiny lidí. Kdybych dala ochranu jen IP adresu, tak třeba já bych hlasovala, ale ostatní na stejné síti jsou už nahraní. Proto možná jsem použila spojení IP adresy a cookie.

Máte prosím nějaký script ohledně toho ověřování hlasů? V administraci si klidně mohu udělat i výstup jednotlivých hlasování a když někdo něco zneužije .... smažu ho nebo pozdějí dám BAN na IP adresu. Možností je více.

Předem za ověřovací script moc děkuji.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: