MozillaPL.org - polskie centrum Mozilli

Główne menu:

Łączenie się z innym serwerem za pomocą XmlHttpRequest

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

Łączenie się z innym serwerem za pomocą XmlHttpRequest

Postautor: Fiołek » 02 lutego 2007, 18:26

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Mam taki problem. Zrobiłem skrypt wyświetlający informacje, zrobiłem też skrypt JS obsługujący wywołania 'GET'. Ale jak chce wykonać kod
Kod: Zaznacz cały
var req=new XmlHTTPRequest();
req.open('GET', 'http://www.innadomana.pl/plik.php?id=1', true);

To się nic nie dzieje i w konsoli wyskakuje że przeglądarka nie zablokowała połączenie(plik znajdował się na localhoscie). Jest możliwość obejścia tego zabezpieczenia?
Fiołek
 

Re: Łączenie się z innym serwerem za pomocą XmlHttpRequest

Postautor: Ancestor » 02 lutego 2007, 18:40

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Fiołek pisze:Mam taki problem. Zrobiłem skrypt wyświetlający informacje, zrobiłem też skrypt JS obsługujący wywołania 'GET'. Ale jak chce wykonać kod
Kod: Zaznacz cały
var req=new XmlHTTPRequest();
req.open('GET', 'http://www.innadomana.pl/plik.php?id=1', true);

To się nic nie dzieje i w konsoli wyskakuje że przeglądarka nie zablokowała połączenie(plik znajdował się na localhoscie). Jest możliwość obejścia tego zabezpieczenia?

Nie. XHR obowiązuje zasada tego samego pochodzenia, czyli nie może się łączyć z innymi stronami.
Ancestor
Moderator
 
Posty: 1799
Z nami od: 11 czerwca 2005, 20:25
Lokalizacja: Sopot

Postautor: Fiołek » 02 lutego 2007, 18:48

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Tak też myślałem. Dziękuję za odpowiedź.
Fiołek
 

Postautor: Zepco » 04 lutego 2007, 19:02

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.1) Gecko/20061223 BonEcho/2.0.0.1

A co z poniższym kodem?
Teoretycznie daje nam możliwość łączności z zewnętrznym serwerem, tylko użytkownik musi wyrazić na to zgodę.
Można też ustawić tę opcję na stałe w about:config, ale raczej nie jest zalecane takie zastosowanie ze względu na bezpieczeństwo.
Nie wiem czy w nowych przegladarkach jest ta opcja, ale w starych działało na pewno.

Kod: Zaznacz cały
try {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  } catch (e) {
   alert("Permission UniversalBrowserRead denied.");
  }



W about:config
signed.applets.codebase_principal_support na true
Zepco
 
Posty: 27
Z nami od: 27 lutego 2005, 22:09
Lokalizacja: Kielce

Postautor: TrAvIkK » 05 lutego 2007, 13:44

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Zepco pisze:A co z poniższym kodem?
Teoretycznie daje nam możliwość łączności z zewnętrznym serwerem, tylko użytkownik musi wyrazić na to zgodę.
Można też ustawić tę opcję na stałe w about:config, ale raczej nie jest zalecane takie zastosowanie ze względu na bezpieczeństwo.
Nie wiem czy w nowych przegladarkach jest ta opcja, ale w starych działało na pewno.

Kod: Zaznacz cały
try {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  } catch (e) {
   alert("Permission UniversalBrowserRead denied.");
  }



W about:config
signed.applets.codebase_principal_support na true


Na innym forum też dostałem taką odpowiedź.
Ancestor, a czy jest możliwość łączenia cross-domain, ale przez rozszerzenie ?
TrAvIkK
 
Posty: 9
Z nami od: 05 lutego 2007, 13:34

Postautor: Ancestor » 05 lutego 2007, 13:55

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

TrAvIkK pisze:Na innym forum też dostałem taką odpowiedź.
Ancestor, a czy jest możliwość łączenia cross-domain, ale przez rozszerzenie ?

Czy rozszerzenie może używać XMLHttpRequest do łączenia się z innymi domenami? Jasne, uprzywilejowany kod nie ma tutaj ograniczeń. Zresztą kod rozszerzenia działa w dokumencie XUL okna Firefoksa, a nie w dokumencie strony, więc nie jest przecież związany z żadną domeną, co sprawia, że pojęcie cross-domain traci dla niego sens.

FWIW, są plany i wstępne specyfikacje dla cross-domain XHR:
http://wiki.mozilla.org/Cross_Site_XMLHttpRequest
http://lists.w3.org/Archives/Public/pub ... 06Jun/0012
Ancestor
Moderator
 
Posty: 1799
Z nami od: 11 czerwca 2005, 20:25
Lokalizacja: Sopot


Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

Zarejestrowani użytkownicy: Google [Bot]

cron
Przejdź do powiązanej strony

Nawigacja:

Stopka: