Vallheru: Mulitikonta? Już nie!

Krzysztof Jagielski
05.09.2015

Już dość dawno zastanawiałem się nad tym, jak zabezpieczyć grę przez tzw. multikontami.

Co to są mulitikonta?



Otóż proszę państwa. Multikonta to inaczej kilka kont zakładane przez jednego gracza w celu pomocy sobie jako innej postaci w grze, jak wiemy jest to ‘nielegalne’ na większości gier, zabrania tego regulamin tych gier czy Prawo Krainy jak kto woli.

Zastanawiałem się jak to zrobić, by było i funkcjonalne i proste. Wpadłem na pomysł cookies (ciasteczek) ale borykałem się z problemem wyczyszczenia cookies. No ale nic, postanowiłem na próbę dodać to do Lorgoth i o dziwo byłem zazkoczony, ilość multikont spadła o wiele (ok 80%). Pomyślałem “No tak, dzieci nie wiedzą, że to przez ciastka” i tak już kodzik został w Lor.

 

Jak to zrobić? Zrób to sam!



Otwierasz plik ./includes/head.php i gdzieś po logowaniu dodajesz kod:

 

if ($player -> rank == 'Tester')
{
setcookie("Konto","2", time()+3110400);
}
else
{
setcookie("Konto","1", time()+3110400);
}



Zapytasz co to setcookie();? Proste! Jest to funkcja wysyłająca ciastko na lokalny komputer użytkownika. W tym przypadku poleci ciastko (dla Twojej domeny) o nazwie “Konto” o wartości w zależności od tego, czy logujesz się na swoim koncie (”Konto” o wartości “1″) czy logujesz się na konto Testera, w takim wypadku powstanie cookie “Konto” o wartości “2″, trzecia wartość mówi nam przez ile czasu ma być aktywne ów ciacho

Co robi ten kod? Już tłumaczę. Jeśli logujesz się na konto Testera to śmiało możesz zakładać konto dla siebie. Jeśli jednak logujesz się na swoje konto kod wysyła ciastko na Twój komputer i już nie zarejestrujesz nowego konta z tego komputera. Fakt, nie jest przemyślana opcja rodzeństwa grającego w jedną gre z jednego kompa.

Teraz otwierasz plik ./register.php i dojesz gdzieś kod:

//zabezpieczenie przed multi
if($_COOKIE['Konto'] == "1") {
$smarty -> assign("Error", "Można posiadać tylko jedno konto. Nie możesz się już rejestrować!");
$smarty -> display ('error.tpl');
exit;
}

Ten kod sprawdza czy na Twoim kompie znajduje się cookie o nazwie Konto o wartości 1 – Jeśli tak, wywali Errora. Jeśli nie, pozwoli się zarejestrować.

To by było na tyle… Jak coś wymyślę to napiszę o tym na pewno.

Pozdrawiam, Polmisilth.

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie