Zabezpieczenie Pluginu na IP+SQL
Ps^chol ?!
07.02.2016
Witam,mam pytanie jak mogę zabezpieczyć plugin nie dajac .sma na dane ip.IP by był brane z Bazy SQL. Tzn np dodaje nowe ip w bazie danych wpisuje ip,ilość godzin itp( bd na zawsze ale wrazie trailu) i jeśli np ustawilem na 3 dni to wyłaczy się po 3 dniach ?
Wiem ze to jest możliwe.Csgomods ma takie coś.
wiwi249
07.02.2016
Tworzysz baze danych. Kolumny id (AUTO_INCREMENT, PRIMARY KEY, INT(11)), ip_serw (VARCHAR(32)), czas (INT(11))
Jeśli chcesz dodać serwer, wystarczy dodać rekord do tablicy poleceniem SQL
INSERT INTO serwery (ip_serw, czas) VALUES ('127.0.0.1:27015', UNIX_TIMESTAMP()+259200);
w tym ważne żeby użyć UNIX_TIMESTAMP() do czasu, a zamiast 127.0.0.1:27015 wstawiasz IP serwera (wraz z portem)
Co to za liczby dodaję do UNIX_TIMESTAMP() ? Ano, to jest przeliczenie 3 dni działania serwera na sekundy (czyli do obecnego dnia dodajemy jeszcze trzy dni)
Potem w AMXX tworzysz sobie obsługę SQL, i pobierasz sobie IP serwera
new ip[32] get_user_ip(0, ip, 31, 0);
Jakkolwiek wygląda Twoja funkcja od poleceń SQL, wysyłasz takie zapytanie:
new query[128]; formatex(query, 127, "SELECT * FROM serwery WHERE ip = '%s' AND czas < UNIX_TIMESTAMP();", ip); SqlQuery(query); //czy jakkolwiek wygląda Twoja funkcja od SQL
Sprawdzasz potem tylko ile rekordów zwróciło zapytanie, jeśli 0 to nie ma licencji i wówczas należy wykonać set_fail_state() (zobacz w dokumentacji). Jeśli z kolei jest 1 lub wiecej wyników, wiemy że licencja jest.
OKCancel
Edited by wiwi249, 07.02.2016 12:27.
Ps^chol ?!
07.02.2016
To tak. Zrrozumialem ze mam zrobic baze danych wyslac te zapytanie sql a do tego pluginu wklepac ten kod?
"new query[128];
formatex(query, 127, "SELECT * FROM serwery WHERE ip = '%s' AND czas < UNIX_TIMESTAMP();", ip);
SqlQuery(query); //czy jakkolwiek wygląda Twoja funkcja od SQL"
wiwi249
07.02.2016
Tak, to jest kod AMXX do pluginu, który powinien znaleźć się w plugin_init.
OKCancel
wiwi249
10.02.2016
No jak chcesz pobierać IP z bazy danych to raczej że potrzebne jest z nią połączenie...
OKCancel
Ps^chol ?!
14.02.2016
A jak dodać do pluginu żeby czytalo z bazy danych i podpiać pod nia ?
Laggg...
Edited by Ps^chol ?!, 14.02.2016 21:45.
wiwi249
15.02.2016
amxx.pl/topic/96452-plugin-baza-danych/
Wystarczyło poszukać..
OKCancel