![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 12.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Przyszedłem tutaj z nadzieją, że znajdę odpowiedź na pytanie jak można w PHP odczytać zawartość danych cookie ustawionych przez inne witryny. Przeszukałem forum i znalazłem ciekawy wątek, w którym stoi po pierwsze, że się nie da, a po drugie, że nie pomagacie w hakowaniu ![]() Tak po prawdzie nawet nie wiem jak zadać Wam pytanie, więc muszę opisać z czym próbuję się zmierzyć. Chcę postawić na drupalu stronkę dla znajomych, z którymi gram w grę przeglądarkową plemiona. Na tej stronie będą pewnie różne informacje, które nie powinny być widoczne dla innych osób, niż ludzie z mojego plemienia (w grze plemiona gracze łączą się w grupy, zwane plemionami, a plemiona zwalczają się nawzajem). Sprawdziłem, że gra plemiona ustawia określone ciastko. Pomyślałem, że w drupalu dodam kod php, który będzie odczytywał te dane i na tej podstawie sprawdzał, czy przeglądający stronę jest członkiem mojego plemienia. Otóż: gra plemiona ustawia ciastko z ID wioski, ID wioski jest ustawiane, gdy właściciel tej wioski przegląda w grze stronę głównego widoku wioski. Czyli: ciastko z ID wioski należącej do mojego plemienia jest ustawiane wyłącznie u gracza, będącego właścicielem wioski. W drupalu można zrobić listę wiosek graczy i ich wiosek (w tabeli) i sprawdzać, czy wioska w ciasteczku jest wioską zalogowanego gracza. Jeśli nie - to wylogowywać użytkownika z określonym komunikatem. No ale na stronie drupala ciasteczka z strony www gry nie odczytam (prawda?). Pytanie moje brzmi: jak w takim razie zrobić weryfikację tego, że stronę drupala przegląda ktoś, kto należy do mojego plemienia? Odpada przesyłanie tymcasowych, jednorazowych haseł na maila, czy też na konto w grze, bo te dane można odczytać i przekazać graczowi z wrogiego plemienia. Konieczne jest takie rozwiązanie, które będzie niezauważalne dla zwykłego użytkownika i na które zwykły przeciętny użytkownik kompa nie może wpłynąć. Odpada też niestety sprawdzanie strony, która do drupala przekierowała. Teoretycznie możnaby w grze umieścić linka do strony drupala, a w drupalu sprawdzić, jaka strona kierowała do niego. Niestety - nie można przejść bezpośrednio ze strony gry do strony zewnętrznej, bo w grze jest taki specjalny mechanizm kierowania najpierw do strony zawierającej ostrzeżenie, że następuje przekierowanie na zewnętrzną stronę i żeby tam nie podawać hasła z gry. Można użyć JS. Mogę zmusić wszystkich w grze do używania Greasemonkey, stworzyć jakiś skrypt instalowany w Greasemonkey, który pobierałby dane z gry, jakoś gdzieś zapisywał (tak jak cookie) i potem odczytywać to na stronie drupala. Da się to zrobić? Jest jakaś opcja? Może macie inne pomysły? kurde, chyba kiepsko szukałem znalazłem takie coś: http://wortal.php.pl/phppl/Wortal/Artykuly...wiadamy-za-wady Stoi tam, że w JS mogę tworzyć ciastka i podawać domenę, pod którą ciastko ma być dostępne Czy jest możliwe, aby skrypt uruchamiany na stronie A (strona gry) utworzył ciasteczko, które będzie miało podane jako domenę, w której ciastko jest dostępne stronę B (stronę drupala) ![]() Jeśli tak, to miałbym rozwiązanie: skrypt instalowany w Grasemonkey, który tworzy ciastko dostępne na stronie drupala, wpisując dane z ID wioski ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Można użyć JS. Mogę zmusić wszystkich w grze do używania Greasemonkey, stworzyć jakiś skrypt instalowany w Greasemonkey, który pobierałby dane z gry, jakoś gdzieś zapisywał (tak jak cookie) i potem odczytywać to na stronie drupala. Da się to zrobić? Jest jakaś opcja? Możesz wywołać skrypt na swojej domenie za pomocą greasemonkey, przekazując odpowiednie parametry w get. ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 12.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Możesz wywołać skrypt na swojej domenie za pomocą greasemonkey, przekazując odpowiednie parametry w get. ![]() aha, to super, tylko, że nie rozumiem ![]() fifi - dzięki za odpowiedź, ale muszę Cię prosić o wyjaśnienie, bo chyba jestem większym laikiem, niż mi się wydawało ![]() piszesz, że mogę wywołać skrypt na swojej domenie, ale chodzi Tobie o to, że można zrobić w ten sposób, żeby przy przeglądaniu stron na serwerze plemion uruchamiał się skrypt zapisany na moim serwerze? wiem, że tak się da, tylko, że nie łapię co mi to daje mnie chodzi zasadniczo o weryfkację, że osoba wchodząca na stronę na moim serwerze jest członkiem mojego plemienia |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli uruchomisz skrypt greasemonkey'a na stronie plemion, który wywoła skrypt na TWOJEJ domenie z odpowiednimi parametrami tj. np. cookie jak chciałeś to będziesz mógł go w jakiś sposób zweryfikować - choćby po ip (przecież w ciągu sekund się nie zmieni)
![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
mnie chodzi zasadniczo o weryfkację, że osoba wchodząca na stronę na moim serwerze jest członkiem mojego plemienia tutaj zbyt wielkiego zabezpieczenia nie potrzebujesz - po co ktoś miałby się trudzić i wysyłać do Ciebie na serwer info o cudzych farmach których defakto jest multum i nie da się tego normalnie przefarmić ![]() możesz jeszcze w parametrze get przekazywać coś w stylu indywidualnego klucza użytkownika i dokłądnie opisać gdzie powinien i jak zmienić zmienną w skrypcie lub po prostu wywołasz konfigurację i zapiszesz tą informację np. po stronie greasemonkej ale nie w cookies tylko w ustawieniach mozilli - nie pamiętam jak się to nazywało... parametry na swój serwer możesz wysłać np podpinając skrypt php jako pseudo obrazek i tam modyfikować zmienne - czyli coś w deseń: var oImg = new Image; // tutaj jeszcze mógłbyś podpiąć akcję nasłuchujacą ale nie musisz czy dostałeś odpowiedź zwrotną oImg.onload=funkcja; oImg.src = 'adres do Twojej strony z parametrami get'; w ten sposób możesz też napisać userscripta i pod operę i pod IE... ale jeśli się ograniczas do samego greasemonkey to tam nie trzeba stosować takich tricków gdyż w nim jest możliwość wykonywania bezpośrednich zapytań ajax na inne domeny - co daje Ci większą intereakcję gdyż możesz użytkownikom wyświetlać szereg informacji już z Twojej strony [listy farm itd...] - jednak poczytaj na stronie greasemonkey jak nie wchodzić zmiennymi w obiekt window byś miał anonimowy ten skrypt... fakt chcący coś wyświetlić będziesz zmieniał dom czyli coś w window.... w operze i IE informacje ze swojego serwera na stronę plemion możesz przekazywać za pomocą JSON'a - a dokładnie jak obejść ograniczenie na domenę to wpisz w google JSONP - jednak w tych przeglądarkach staraj się napisać obiekt maksymalnie anonimowy nie zostawiający żadnych zmiennych w window [czasami robili małe zrzuty zmiennych]... jeśli z kolei chciałbyś listę z farmami wyświetlać użytkownikom na swoim serwerze z klikalnymi linkami w taki sposób, by nie był przekazywany referer na serwer plemion to przeanalizuj ten kodzik [można było to trochu inaczej zrobić - ten kodzik akurat skopiowałem ;p]: Kod function doNoRefRedirect(url){ // alert('hello!'); hide_referer = window.open ("about:blank", "_blank", ""); hide_referer.document.write("<html>"); hide_referer.document.write("<head>"); hide_referer.document.write("</head>"); hide_referer.document.write("<body>"); hide_referer.document.write("<meta http-equiv=\"refresh\" content=\"0;url=" + url + "\">"); hide_referer.document.write("</body>"); hide_referer.document.write("</html>"); hide_referer.document.close (); } jednak zaznaczę, że wszelkie listy w html'u z farmami zawsze tam były dozwolone - nie dozwolona jest ich automatyzacja ^^ ech - ale to dawno temu było ^^ -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:33 |