Hogyan lehet szavazó programot készíteni?
Előzőnek üzenem hogy a kérdés az volt hogy hogy lehet "Készíteni"...
Szóval ha nincs jelszó sem regisztráció akkor annyi a gond hogy egyvalaki könnyen tud szavazni akár többször is.
Viszont ha ez nem érdekel téged akkor egész könnyen megoldható ez az egész...
El kell döntened hogy milyen adatbázist használjon a script, van a text illetve a mysql, a 2 nem sokban tér el egymástól csak a tárolási módszer más...
HTML űrlap
<html>
<head>
</head>
<body>
<form name="szavaz" action="feldolgoz.php" method="POST">
<input type="radio" name="szavazas" value="1"> 1<br>
<input type="radio" name="szavazas" value="2"> 2<br>
<input type="radio" name="szavazas" value="3" checked> 3<br>
<input type="submit" name="kuld" value="Mehet">
</form>
</body>
</html>
feldolgoz.php
<?php
if(isset($_COOKIE['szavazott'])){//megnézed hogy szavazott e már az illető
echo "Te már szavaztál";
}
else{
$fajl = 'szavazatok.txt'; //szavazatok.txtbe lesz a szavazatok értéke
$szavazat = $_POST['szavazas'];
$megnyit = fopen($fajl, 'a+');//Megnyitod a txt-t írásra, hozzáfűzésre
fwrite($megnyit, $szavazat.'|');//Beleírod a fájlba a szavazatot
fclose($megnyit);//Bezárod a fájlt
setcookie('szavazott', '1', time()+365*24*60*60);//Beállítod a szavazott sütit egy értékre, hogy felismerje a script hogy szavazott e már kliens
}
?>
A fájlba a szavazatok értékét kapod meg amit a radiobuttonokba beadtál value-nak (itt 1,2,3 )
és | jellel lesz elválasztva...
Az egésznek annyi a hátrány, hogy ha kitörli az illető a sütiket újra szavazhat
Bocs nem néztem át hogy működik e de szerintem igen...
azért valamennyire lehet korlátozni a szavazást pl egy sütiben eltárolt ip vagy egy session-el. vagy egy fájlban eltárolt azonosító mellette az aktuális idő, és ez alapján már meg lehet oldani hogy pl 24 óráig ne tudjon szavazni.
de ezt is simán ki lehet játszani mivel a session id mindig más meg a dinamikus ip miatt is.
de addig jó amíg azon az oldalon van addig nem tud szavazni. aztán ha már bezárta a böngészőt és megnyitotta akkor más más a helyzet de talán az ip-vel járna a legjobban azok úgyis általában 2 vagy több óra múlva változnak csak. valamelyik 24 óra de olyan is van ami 1 hónap múlva tehát ez se jó. de valahogy biztos meg lehet oldani.
de teljesen nem lehet ezt kivédeni úgyse h többször ne szavazzanak.
itt a regisztráció segíteni csak.
Igen ezért nem is ügyködtem nagyon a védelmen:
1. ip alapján nem lehet szűrni mert ugye általában dinamikus
2. Session lejár ha kilépsz böngészőből
3. A sütiket lehet törölni
igen, de ha oldal betöltésekkor leellenőrzöd h szerepel-e egy listában az adott ip, ha igen akkor ne tudjon szavazni, ha viszont nem, akkor tárolja el az ip-t és az aktuális időt, és legközelebb nem tud szavazni. az időre azért van szükség hogy megnézze azt is az oldal betöltésekkor hogy pl: 24 óránál régebbi ip címeket törölje. így ha valakinek 1 év múlva is ugyanaz az ip-je akkor se lesz gond 24 óra után tud szavazni újra.
de itt is egy gond van még ha valakinek 2 óránként változik az ip-je.
de szerintem általában ha valaki szavaz, akkor egyből megpróbál még egyszer szavazni és ha látja, hogy nem megy akkor már nem szavaz többször.
és nem sok ilyen lesz akinek pl 2 óránként is frissül az ip-je, és ha lesz is pár ilyen akkor se fogja 2 óra múlva megint megpróbálni. ha pl látta h elötte 1 óráig nem ment, akkor azt gondolja h utána mért menne?? de ha mégis szavazna akkor az se folyásolná az eredményeket annyira mivel akkor is csak max 1-et tud szavazni megint.
és ha erre rá is jön valaki akkor az 24 óra alatt max 12-szer tud szavazni de nem hiszem h ott ül a gép előtt 24 órában. aludnia is kell. tehát ha még 16 órát is van gép előtt és alszik 8 órát akkor is csak 8-szor tud szavazni. de 16 óra is durva azért :D
meg nem hiszem h ezért váltogatni fogják egymást az emberek éjszakai és nappali műszakban. :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!