Ochrana proti vícenásobnému přičtení bodů – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ochrana proti vícenásobnému přičtení bodů – PHP – Fórum – Programujte.comOchrana proti vícenásobnému přičtení bodů – PHP – Fórum – Programujte.com

 

khubajsn0
Newbie
25. 11. 2008   #1
-
0
-

Zdravím.
Věřím že mnoho z vás někdy vidělo takovou tu klikačku na netu - je odkaz vygenerovaný každému zaregistrovanému uživateli, který jej umístí kamkoliv. Jakmile na něj někdo klikne, zobrazí se mu třeba "právě jsi byl zasažen sněhovou koulí" atd. Já jednu takovou klikačku vytvářím pro kamaráda, který ji ukrutně chce. Ale nevím, jak mám systém ochránit proti refresh = přičtení bodů.

Jak mám udělat, aby se nikomu nepřičetly body vícekrát třeba pomocí refreshe?

Díky všem,
Khubajsn

Nahlásit jako SPAM
IP: 88.146.173.–
tom*p0
Stálý člen
25. 11. 2008   #2
-
0
-

Můžeš si někam ukládat IP adresy těch, co klikli (např. do databáze, do souboru) a pak před přičtením bodů ověříš, jestli už na to uživatel s tou IP adresou dřive neklikl. To ti zajistí, že každá IP adresa má maximálně jeden klik.

Nebo můžeš po kliknutí přičíst hlas a pak přesměrovat uživatele na stránku, kde si může refreshovat jak chce (může se jednat třeba o nějakou stránku, kde uvidí jen výsledek toho kliknutí). To uděláš pomocí fce Header('Location: '). Více podrobností v manuálu: http://cz.php.net/manual/en/function.header.php
Tím vlastně omezíš refreshování, ale uživatel může pořád dokola klikat na odkaz a body se budou přičítat.

Nahlásit jako SPAM
IP: 83.240.120.–
Don't waste your time, or time will waste you.
khubajsn
~ Anonymní uživatel
18 příspěvků
25. 11. 2008   #3
-
0
-

Ok. Mohl by mi prosím někdo nabídnout alespoň malý základ kódu?
Napadlo mě vytvářet pro každého user tabulku v mysql ale to by jich byly milióny

Nahlásit jako SPAM
IP: 88.146.173.–
25. 11. 2008   #4
-
0
-

Mej dalsi sloupec a v nem identifikator usera.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Khubajsn
~ Anonymní uživatel
18 příspěvků
26. 11. 2008   #5
-
0
-

No dobře, ale jak ochráním proti vícenásobnému přičtění bodů (prosím alespoň trochu kódu)

Nahlásit jako SPAM
IP: 88.146.173.–
Nefaritus
~ Redaktor
+2
Posthunter
26. 11. 2008   #6
-
0
-

Prostě uděláš jednu tabulku, kam stačí dávat IP adresy, ze kterých bylo na odkaz kliknuto. Pak už jen jednoduchým selectem d zb zjistíš, zda hledaná IP již v DB je...pokud ano, vypíšeš uživateli, že již na odkaz klikl nebo ho někam přesměruješ, když se uživatelova IP nebude shodovat s žádnou IP v DB, tak bude jeho prokliknutí "platné" :) neviděl bych v tom žádnou vědu...

Nahlásit jako SPAM
IP: 213.191.111.–
Khubajsn
~ Anonymní uživatel
18 příspěvků
26. 11. 2008   #7
-
0
-

OK, ale v SQL nejsem nějak vynikající.
Mohl bys mi udělat skript, který by zjistil jestli IP není v tabulce, pokud je tak echo Vicenasobne neni povoleno a pokud neni tak pricist do sloupce body +1 a pridat do tabulky novou ipku?

Nahlásit jako SPAM
IP: 88.146.173.–
marioff0
Expert
26. 11. 2008   #8
-
0
-

Nejak takto overis Viacnasobne kliknutie.... ostatne si dorob.. nie sme charita :smile3:
a vytvor si prislusnu db a pripoj sa k nej.... to su zaklady ktore sa musis naucit sam.... resp. pohladaj aj tu na programujte.com nejake clanky/navody

$ipecka = $REMOTE_ADDR;

$overpripoj = mysql_query("SELECT * FROM ipadresy WHERE ipadresa='".$ipecka."'") or die ("Nepodarilo sa spojiť z databazou");
$overpocet = mysql_num_rows($overpripoj);

if ($overpocet==1) {
// a pripocitas kliknutie do db
Header("Location: adresa kde ho presmeruje a vypise ze ma bod.php");
} else {
Header("Location: adresa kde ho presmeruje a vypise ze uz klikol.php");
}

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
khubajsn
~ Anonymní uživatel
18 příspěvků
27. 11. 2008   #9
-
0
-

OK, díky všem

Nahlásit jako SPAM
IP: 62.240.190.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 38 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý