Zobacz temat
Wspólne logowanie użytkowników PHP-Fusion i Minecraft
|
|
MeTeo |
Dodany dnia 10.03.2012 11:36:25
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Witam, Chciałbym scalić konta użytkowników z gry (minecraft) z kontem na stronie. Jako, iż kiedyś używałem PF, to chciałbym nową stronę oprzeć właśnie o niego no i pojawia się problem. Tworząc serwer do gry, zakładałem inny kierunek rozwoju no i teraz sobie nieco zrobiłem pod górkę. Ustawiłem nietypowe hasowanie (xAuth, ale czytając dalej doszedłem, że to whirlpool). Są nawet fragmenty kodu, do zaimplementowania przy odczytywaniu i kodowaniu hasła, ale kompletnie nie mam pojęcia jak tego użyć. Są to odpowiednia dwa poniższe kody: oraz Instaluję aktualnie świeżą kopię PHP-Fusiona, więc mogę eksperymentować ze wszystkim. Później chcę tylko przenieść zawartość kolumny kont z gry do kont ze strony. Na upartego mogę przejrzeć logi i powypisywać wszystkie hasła, ale zbyt dużo tego. Z góry dziękuję :) PW od moderatora:
Edytowane przez Pieka dnia 11.03.2012 19:55:22 |
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 08:56:35
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
IP: localhost | |
Creeper |
Dodany dnia 10.03.2012 13:59:57
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
Z xAuth nie miałem do czynienia od czasu stwierdzenia, że ma dużo błędów. Bardziej polecam AuthMe. Integracja z własną stroną polega na dodaniu funkcji sprawdzającej użytkownika i hasło z tabeli authme. Nie trzeba nic zmieniać w bazie PHP-Fusiona, wystarczy, że login i hasło z tabeli [prefix]_users i authme będą takie same. |
|
|
MeTeo |
Dodany dnia 10.03.2012 14:33:58
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Creeper - właśnie używam AuthMe, tylko dałem haswanie "xauth". Mógłbyś troszkę jaśniej to objaśnić? Fusion ma hasowanie w SHA256, a Authme ma to właśnie xAuth, co jest prawdopodobnie whirlpoolem. Ale jak to działa? Tylko sprawdza? Chciałbym by rejestracja na stronie było jednocześnie rejestracją na serwerze. Bo o ile dobrze zrozumiałem, teraz każdy mógłby założyć konto na stronie z takim samym nickiem jak ja na serwerze i sterować moim kontem. |
|
|
Creeper |
Dodany dnia 10.03.2012 14:59:25
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
Nie musi być hash xAuth. Wejdź w plik konfiguracyjny (AuthMe/config.php) i znajdź linijkę W zależności od tego jakiego hasha chcesz użyć wpisujesz MD5, SHA1, SHA256, xAuth. Teraz jeżeli chodzi o połączenie tego z Fusionem to musisz wstawić funkcję, którą wymieniłem w miejsce tworzenia sesji logowania. Ja bym to wstawił w maincore.php w taki sposób: To Przerobił tak Teraz kwestia rejestracji. Najlepiej by było gdyby rejestracja działała w obydwie strony, ale niestety AuthMe nie stworzy konta na Fusionie więc najlepiej na serwerze dać informację, że konta można tworzyć tylko poprzez stronę, oczywiście istnieje możliwość zrobienia modyfikacji, ale to inna kwestia. Po tym wszystkim pozostaje tylko dodanie do register.php zapytania tworzącego użytkownika w tabeli [prefix]_users i authme jednocześnie. W tym wypadku hash mógłby być różny, bo nie szłoby to przez jedną tabelę. |
|
|
MeTeo |
Dodany dnia 10.03.2012 15:52:26
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
@Creeper - tak, tylko że jeżeli teraz zmienię hasowanie w AuthMe to nikt sie na aktualne konto nie zaloguje, czyż nie? No chyba że znasz sposób na obejście tego problemu? Twój kod chyba nie do końca spełnia swoje zadanie, bo chyba tylko sprawdza czy loginy i hasła są takie same, ale konta graczy już istnieją, a konta na stronie nie :/ Myślę, że sposób w jaki chcę to zrobić jest prostszy i mniej konfliktowy tylko potrzebuje sposobu by PHP-Fusion generował hasło tak samo jak AuthMe ustawiony na xAuth. Jest taka możliwość? Wtedy bym zmienił nazwę tabeli authme na prefix_users a potem bym po prostu w AuthMe zmienił tablę z "authme" na "prefix_users" dodając w niej brakujące pola PHP-Fusiona. Powinno chyba działać... Powiedzmy nawet, że zmienię już kodowanie w Authme. Chcę tylko by obie tworzyły identyczne hasła |
|
|
Creeper |
Dodany dnia 10.03.2012 17:34:00
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
W takim razie musisz skorzystać z pierwszej funkcji, którą napisałeś w pierwszym poście do kodowania hasła za pomocą xAuth. Później zamieniasz w PasswordAuth.class.php linijki odpowiedzialne za kodowanie hasła. Jeżeli dobrze przejrzałem ten plik to wystarczy tylko zmodyfikować odpowiednio Pobawię się tym na localhoście i jakby co opiszę dokładnie co trzeba zrobić. |
|
|
MeTeo |
Dodany dnia 10.03.2012 23:40:36
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Byłbym w sumie wdzięczny za pomoc, bo zmieniłem już w bazie typ hashowania (na whirlpool), podmieniłem owy fragmenty na: Aczkolwiek wciąż generuje się kod, który ma niewiele wspólnego z tymi z Authme. Przykładowo, Hasło wygenerowane z powyższym kodem Hasło z Authme Oba brzmią tak samo: password Nie wspomnę już, że po owych zmianach w bazie nie generuje się zawartość w "user_salt", a i zalogować sie nie można ani na nowo założonym koncie, ani na starym. |
|
|
Creeper |
Dodany dnia 11.03.2012 10:59:30
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
Obydwa hasła zostały zakodowane na dwa różne sposoby. Podaj wartość poniższego pola z AuthMe/config.yml. |
|
|
MeTeo |
Dodany dnia 11.03.2012 11:01:39
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Wspominałem o tym na początku. |
|
|
Creeper |
Dodany dnia 11.03.2012 12:07:42
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
A więc tak:
Co do całego logowania to zrobię modyfikację, która zmieni SHA256 w PHP-Fusionie na xAuth więc reszta to będzie tylko podłączenie. |
|
|
MeTeo |
Dodany dnia 11.03.2012 12:31:29
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Hmm... A jakbym zmienił kodowanie w Authme na SHA256? Wtedy w obu systemach byłoby to samo kodowanie, tylko czy wtedy "salt" się nie będzie gryzł? Na mój chłopski rozum, byłoby to chyba prostsze, a ja nie lubię skomplikowanych rozwiązań Co musiałbym zmienić, żeby hasło wygenerowane przez PHP-Fusiona, było odczytane w grze przez AuthMe? Wystarczyłoby skrócenie "salt" w PHP-Fusionie do 12 znaków?
Edytowane przez Pieka dnia 11.03.2012 15:17:00 |
|
|
Creeper |
Dodany dnia 11.03.2012 17:42:56
|
Początkujący Postów: 290 Pomógł: 45 v7.02.06 Data rejestracji: 24.10.2011 14:51 |
Powinno wystarczyć, ale jeżeli to nie pomoże to najprostszą i jednocześnie pewnie najmniej bezpieczną metodą jest zmiana w obydwu na MD5. W tym przypadku wszystko zostanie zaszyfrowane tak samo. W PHP-Fusionie wystarczyłoby tylko zmienić w to na oraz (najszybciej) ponowne zainstalowanie PHP-Fusion ze zmienionym w setup.php sha256 na md5. |
|
|
MeTeo |
Dodany dnia 11.03.2012 20:21:09
|
Bywalec Postów: 880 Pomógł: 23 Ostrzeżeń: 2 Data rejestracji: 14.12.2005 19:38 |
Zrobiłem to wszystko w oparciu o SHA1. Zmieniłem generalnie linijkę na: Musze co prawda wygenerować hasła na nowo, no ale wszystko działa. Dzięki za naprowadzenie na rozwiązanie. |
|
Przejdź do forum: |