![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
Domeny a i b.
W domenie a mam skrypt php wrzucający dane przesłane mu poprzez GET do bazy MySQL. W domenia b (i wielu innych) user ma na swojej stronie <script type="text/javascript" src="PLIK JS W DOMENIE A"></script> W owym pliku JS znajduje się funkcja która pobiera x i y kliknięcia myszką i przesyła je (wraz z jeszcze paroma innymi zmiennymi) metodą XmlHttp do skryptu php w domenie a. Sposób ten jednakże nie działa z powodu znanego nam zabezpieczenia w AJAXie. Czy istnieje teraz jakiś sposób na to aby powyższy skrypt działał? (user w domenie b nie może mieć żadnych moich skryptów na swoim serwerze, on ma tylko wstawiać linijkę ze <script> i tyle) Pozdrawiam! (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 1 Dołączył: 8.03.2007 Ostrzeżenie: (0%)
|
W domenie b odsylaj wspolrzedne do pliku php w tej samej domenie i dopiero z tego pliku php łącz się z domeną a. Ewentualnie możesz spróbować tak: Stwórz ukrytą ramkę iframe z kilkoma polami input hidden. Zawartosc tej ramki niech bedzie na serwerze w domenie A. Po kliknieciu myszka ustaw wspolrzedne w polach ukrytych hidden i wykonaj submit na formularzu w ukrytym iframe. Wtedy dane pojda do serwera w domenie A.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
w domenie b nie ma prawa być żadnych "moich" plików php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Rozwiązałem to stosując function przyklad(){ var img = new Image(1,1); img.src = "http://domena.a/plik.w.domenie.a?zmienna1=" + zmienna1 + "&zmienna2=" + zmienna2; } btw, Na tym forum na odpowiedzi przynajmniej z tego tematu czeka się godzinami w czasie w którym na innych miałem już tuziny odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował freqfreq 6.04.2008, 12:59:03 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%)
|
HEj!
może mi ktoś powiedzieć, jak po tym zabiegu -> function przyklad(){ var img = new Image(1,1); img.src = "http://domena.a/plik.w.domenie.a?zmienna1=" + zmienna1 + "&zmienna2=" + zmienna2; } -> dalej powinno się przetworzyć te odebrane dane ze skryptu z innego serwera, aby można było ich użyć? pozdro |
|
|
|
Post
#5
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Przez obrazek? Niestety, nie da się tak. ;]
Jeśli chcesz mieć obsługę międzydomenową - pozostaje albo proxy, albo XmlHttpRequest we Flashu, albo JSONP. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%)
|
Elo,
jeśli ktoś jeszcze jest zainteresowany międzydomenową wymianą danych (czyli tworzeniem aplikacji WEB N.0 (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) http://json.org/JSONRequest.html btw, wiecie coś na temat obsługi obiektu JSONRequest przez przegladarki? Nie ma kłopotów z kompatybilnością? pozdro |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
No to pisałem przecież o JSONP. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Nie ma, gdyż polega to na wywołaniu odpowiedniej funkcji, przez bodajże dodanie do dokumentu nowego znacznika <script />. Jednak nie zmienia to faktu, że danych POST tak nie wyślesz. GET, to nawet obrazkiem żądanie pójdzie, gdy nie potrzebujesz danych potwierdzenia. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%)
|
Tak, już zrobiłem mały research, i oto co znalazłem: (dla takich ludzi jak ja, którzy szukają tu również informacji, a czasami jedyną odpowiedzią są jakieś tajemnicze akronimy (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) w końcu edukacja kosztuje (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )
http://www.ibm.com/developerworks/library/wa-aj-jsonp1/ http://james.padolsey.com/javascript/cross...ith-jsonp-safe/ http://beebole.com/en/blog/general/sandbox...ashup-security/ http://ajaxian.com/archives/prototype-exte...pattern-support Samo włączenie skryptu z innej domeny wygląda tak: Teraz szukam odpowiedzi jak dokładnie włączyć w to obsługę callbacks. Wie ktoś? (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Teraz szukam odpowiedzi jak dokładnie włączyć w to obsługę callbacks. Nie pamiętam, jak to było w jQuery, ale skrypt był chyba wpisywany jako innerHTML tagu script i na końcu po prostu dodawane wywołanie danej funkcji. Stuprocentowej pewności nie ma, mogą być obostrzenia ze względu na bezpieczeństwo, ale spróbować możesz. [; Cytat Samo włączenie skryptu z innej domeny wygląda tak: To NIE JEST włączenie, a OBEJŚCIE problemu, bo np. żądania POST tak nie wykonasz. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%)
|
W takim razie wskaż rozwiązanie, JEZELI znasz, bo z TEGO, co wiem, to jest JEDYNY sposób na wymianę danych cross domain. W Ajaksie obostrzenia ze względu na bezpieczeństwo utrzymują zasadę same domain.
Btw, to OBEJŚCIE problemu jest ogólnie akceptowane. pozdr (IMG:http://forum.php.pl/style_emoticons/default/withstupidsmiley.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat to jest JEDYNY sposób na wymianę danych cross domain Czytałeś moje poprzednie posty? #5 Cytat Niestety, nie ma emota I'm with blind. |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
Teraz szukam odpowiedzi jak dokładnie włączyć w to obsługę callbacks. Wie ktoś? mi to nie było potrzebne ale z tej strony wynika, że do wykrycia czy obiekt został pobrany można normalnie urzyć zdarzenie onload:(IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) Howto Dynamically Insert Javascript And CSS ps. jakąś zmienną możesz traktować jako kontener i po załadowaniu jej danych do innych zmiennych lub całego obiektu poprostu ją usuwać - pobierając dane w formacie json mogą być np. odrazu przypisane do tej zmiennej by nie były zawieszone w prużni gdy będziesz dołączał nowy element DOM <script> - po wykryciu zdarzenia onload (które najwidoczniej działa) uruchamiasz funkcję która wykona operacje na odebranych danych zczytując otrzymany obiekt (potem obiekt możesz skasować) i wywołując odpowiednie operacje... lub możesz nie przypisywać tego do zmiennej a pobrać z drzewa dom po załądowaniu dany element po czym odczytać jako tekst jego zawartość i zrobić z tym co tylko chcesz... ogólnie zależy jaki mechanizm chcesz obrać i jak to zabezpieczyć... Ten post edytował zegarek84 28.07.2009, 23:28:00 |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%)
|
@erix
Czytałem twoje posty, ale dla mnie pozostaje tylko JSONP i dynamiczne wstawianie skryptów. PHP proxy też odpada, bo to ma być aplikacja desktopowa (Adobe AIR), a Flash za bardzo kojarzy mi się z angielskim wyrażeniem TO FLUSH (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Dzięki zegarek za tego linka, nie czytałem jeszcze całego artykułu, ale z tego co widzę to będzie dobry |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 19:05 |