Wastl: Same Origin Policy ?

Problembeschreibung:

  • Ich arbeite gerne mit Inline Frames ( Ja, ja, ich weiß... )
  • Der Webspace, auf dem die Website liegt, unterstützt kein PHP.
  • Mittels absoluter Pfade nutze ich PHP-Programme, die auf einem Webspace liegen, der PHP unterstützt.

Ergebnis:

  • Etwa 80% der Programme laufen innerhalb des Frames einwandfrei.
  • Bei etwa 20% komme ich mit dem MSIE innerhalb des Frames nicht in die Admin-Bereiche rein.
  • Alle anderen Browser machen diesbezüglich keine Schwierigkeiten

Wenn ich die Admin-Links in einem neuen Fenster öffne ( rechte Maustaste ), funktioniert die Passwort-Abfrage natürlich.
Was ich nicht verstehe ist, warum der IE ständig quertreibt und die Extrawurst spielen muß. :-/
Gruß Wastl

Ps: Der Webspace mit PHP-Support ist Teil meines Hosting-Pakets
Der Webspace ohne PHP-Unterstützung ist Teil meines DSL-Pakets
Es liegt also quasi  alles unter einem Dach, gewissermaßen  Same Origin  -  ja und nein.
-----------------------------------------------------------------------
Pps: Ein anderes Beispiel für eine MSIE-Extrawurst.
Ich versuch gerade mittels eines kleinen Workarounds gleichzeitig ein PopUp zu öffnen und das Elternfenster ( bzw. den Opener ) zu schließen:
<a href="ziel.htm" onclick="window.open ('ziel'); window.close(); return false;" target="PopUpName">Link</a>
Das Dingens hab ich übrigens aus dem Netz und funktioniert in den Mozillas und im Opera wie gewünscht.
Nur der IE nervt mit einer Sicherheitsabfrage.
Das Gleiche gilt übrigens auch für die Variante window.opener.close();

  1. Mist, immer das Selbe.
    Korrektur:

    <a href="ziel.htm" onclick="window.open ('ziel.htm'); window.close(); return false;" target="PopUpName">Link</a>

  2. Hallo,

    • Bei etwa 20% komme ich mit dem MSIE innerhalb des Frames nicht in die Admin-Bereiche rein.
      Wenn ich die Admin-Links in einem neuen Fenster öffne ( rechte Maustaste ), funktioniert die Passwort-Abfrage natürlich.
      Was ich nicht verstehe ist, warum der IE ständig quertreibt und die Extrawurst spielen muß. :-/
      Gruß Wastl

    Lass mich raten ... Nein, eigentlich bin ich ziemlich sicher: deine adminstrative Seiten - also die, die du mit PHP erzeugst - verwenden Cookies.
    Die sind aus der Sicht vom IE third patry cookies (offensichtlich läuft doch nicht alles unter dem gleichen Dach). An sich sollte er dir unten in der Statusleiste ein Auge mit einem roten Schloß (oder X) anzeigen.

    Grüße
    Thomas

    1. Lass mich raten ... Nein, eigentlich bin ich ziemlich sicher: deine adminstrative Seiten - also die, die du mit PHP erzeugst - verwenden Cookies.
      Die sind aus der Sicht vom IE third patry cookies (offensichtlich läuft doch nicht alles unter dem gleichen Dach). An sich sollte er dir unten in der Statusleiste ein Auge mit einem roten Schloß (oder X) anzeigen.

      Grüße
      Thomas

      Exakt.
      Das Auge mit dem roten Schild ist da.
      Nur funktioniert die Passwort-Eingabe in den anderen Browsern ja auch.
      Es geht hier übrigens nicht um meine eigene abenteuerlichen Kreationen, sondern um renommierte Programme, wie etwa MyLittleForum...
      Also ein Cookies-Problem...
      Gruß Wastl

      1. Hallo,

        Exakt.
        Das Auge mit dem roten Schild ist da.
        Nur funktioniert die Passwort-Eingabe in den anderen Browsern ja auch.

        Andere Browsereinstellungen für 3rd. party cookies. (?)

        Es geht hier übrigens nicht um meine eigene abenteuerlichen Kreationen, sondern um renommierte Programme, wie etwa MyLittleForum...

        Das ist egal. Es kann die Webseite des Vatikans sein, wenn die Browser deren Cookie als 3rd party einstufen, läuft da nichts, je nach Browsereinstellung.

        Also ein Cookies-Problem...

        *mit dem schulterzuck*
        wenn alles deine Seiten sind, sorge dafür, dass die eingebettete Seite ohne Cookie auskommt.

        Grüße
        Thomas

  3. Hi,

    Ps: Der Webspace mit PHP-Support ist Teil meines Hosting-Pakets
    Der Webspace ohne PHP-Unterstützung ist Teil meines DSL-Pakets
    Es liegt also quasi  alles unter einem Dach, gewissermaßen  Same Origin  -  ja und nein.

    nein, nein und nochmals nein. Same Origin heißt: gleicher Host (*nicht* nur gleiche Domain!), gleicher Port, gleiches Protokoll. Ein einziger Unterschied, und es ist ein hundertprozentiges Fremdsystem. Wenn die Gemeinsamkeiten sogar nur für jemanden erkennbar sind, der auf dem Serversystem herumturnt, dann ist es JavaScript sogar unmöglich, dies jemals zu erfahren - selbst *wenn* eine solche Gemeinsamkeit also ausreichen *würde*, wäre es noch immer ein komplettes Fremdsystem.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  4. Wa-é ák-wé!

    Pps: Ein anderes Beispiel für eine MSIE-Extrawurst.
    Ich versuch gerade mittels eines kleinen Workarounds gleichzeitig ein PopUp zu öffnen und das Elternfenster ( bzw. den Opener ) zu schließen:
    <a href="ziel.htm" onclick="window.open ('ziel'); window.close(); return false;" target="PopUpName">Link</a>
    Das Dingens hab ich übrigens aus dem Netz und funktioniert in den Mozillas und im Opera wie gewünscht.
    Nur der IE nervt mit einer Sicherheitsabfrage.
    Das Gleiche gilt übrigens auch für die Variante window.opener.close();

    Verstehe ich Dich richtig: Du willst das ursprüngliche Fenster schließen? Das mit den ganzen anderen Tabs? Das sollte eigentlich kein halbwegs moderner Browser mehr ohne Rückfrage zulassen.
    Wenn Du möchtest, daß nur noch die neue Seite sichtbar ist und die bisherige nicht mehr, dann öffne die neue doch einfach im selben Tab.

    Viele Grüße vom Længlich

    --
    Mein aktueller Gruß ist:
    Tlingit (gesprochen in den USA und Canada)
    1. Das Ganze ist ein blöder Gag. Ich hab auf der Seite ein kleines "Schwarzes Loch" eingebaut. Wer da drauf clickt, landet im Nirgendwo, von wo es auch über den "Zurück"-Button des Browsers kein Zurück mehr gibt.
      Na ja, wie gesagt, im IE klappt's halt nicht ohne die Alert-Box.
      Gruß Wastl

    2. Hallo,

      Verstehe ich Dich richtig: Du willst das ursprüngliche Fenster schließen? Das mit den ganzen anderen Tabs?

      nein, doch nicht das ganze Programmfenster. Natürlich nur das Dokumentfenster (Tab), in dem das ursprüngliche Dokument geladen war. Seit wann würde die close()-Methode denn bei einem Tab-basierten Browser das ganze Programm schließen?

      Das sollte eigentlich kein halbwegs moderner Browser mehr ohne Rückfrage zulassen.

      Abgesehen davon, dass close() sowieso nur Fenster/Tabs schließen darf, die auch mit Javascript geöffnet wurden.

      Wenn Du möchtest, daß nur noch die neue Seite sichtbar ist und die bisherige nicht mehr, dann öffne die neue doch einfach im selben Tab.

      Eben. :-)

      So long,
       Martin

      --
      Husten kann böse Folgen haben.
      Besonders im Kleiderschrank.
      1. Nári jámashaki!

        Verstehe ich Dich richtig: Du willst das ursprüngliche Fenster schließen? Das mit den ganzen anderen Tabs?

        nein, doch nicht das ganze Programmfenster. Natürlich nur das Dokumentfenster (Tab), in dem das ursprüngliche Dokument geladen war. Seit wann würde die close()-Methode denn bei einem Tab-basierten Browser das ganze Programm schließen?

        Ah, gut. Du hast recht, und ich bin erleichtert. Da bei mir normalerweise weder Javascript noch Popups noch Fenstermanipulationen zugelassen sind, ist meine Erinnerung an solche Features schon etwas abgedunkelt. ^^

        Wenn Du möchtest, daß nur noch die neue Seite sichtbar ist und die bisherige nicht mehr, dann öffne die neue doch einfach im selben Tab.

        Eben. :-)

        Okay, im Falle des OP ist es ein Gag und kein Usability-Problem auf einer ernstgemeinten Website (bin trotzdem recht froh, daß wir die entsprechenden Warnungen und Einschränkungen ins Archiv texten).

        @Wastl: Die Warnung im IE wirst Du AFAIK nicht wegbekommen. Eventuell wäre eine Weiterleitung eine Alternative: Ur-Seite → Weiterleitungsseite → Schwarzes Loch. Ein Klick auf »Zurück« führt zu einer erneuten Weiterleitung; der User ist gefangen (zumindest der unbedarfte User, der diesen Fall nicht (er)?kennt und das History-Dropdown zur Flucht verwendet).

        Viele Grüße vom Længlich

        --
        Mein aktueller Gruß ist:
        Phorhépecha (gesprochen in Michoacán [México])
        1. Ein Klick auf »Zurück« führt zu einer erneuten Weiterleitung; der User ist gefangen (zumindest der unbedarfte User, der diesen Fall nicht (er)?kennt und das History-Dropdown zur Flucht verwendet).

          Das PopUp hat keinen Zurück-Button und kein History-Dropdown.
          :-) Gruß Wastl

          1. Ng jebe a baani!

            Das PopUp hat keinen Zurück-Button und kein History-Dropdown.
            :-) Gruß Wastl

            Da wäre ich mir nicht so sicher, abhängig vom Browser und dessen Einstellungen. ;-)
            Der Vorschlag war aber gar nicht für das Popup gedacht, sondern als Anregung für den Fall, daß Dich die Meldung im IE so sehr stört, daß Du auf das Popup und das Fensterschließen verzichten willst.

            Die Entscheidung bleibt jetzt freilich Dir überlassen. Bei einem kleinen Gag ist das ja auch nicht so extrem relevant, ob es nun wirklich überall exakt wie gewünscht aussieht.

            Viele Grüße vom Længlich

            --
            Mein aktueller Gruß ist:
            Koromfe (gesprochen in Burkina Faso)
            1. Die Geschichte läuft vermutlich wieder auf eine Browserweiche hinaus.
              Dabei hatte ich so gehofft, dieses Wort nie mehr in den Mund nehmen zu müssen.
              :-/
              Gruß Wastl
              Ps: Erinnert sich hier noch jemand an das berühmt-berüchtigte "Earthquake"-Script? JavaScripter waren halt immer die Spaßvögel unter den Script-Programmierern, oder wie?

              1. Hi,

                Die Geschichte läuft vermutlich wieder auf eine Browserweiche hinaus.
                Dabei hatte ich so gehofft, dieses Wort nie mehr in den Mund nehmen zu müssen.

                Dabei wäre schon allein das in-den-Mund-nehmen von "Popup" ein Grund, dir den Mund mit Seife auszuwaschen ...

                Ps: Erinnert sich hier noch jemand an das berühmt-berüchtigte "Earthquake"-Script? JavaScripter waren halt immer die Spaßvögel unter den Script-Programmierern, oder wie?

                Nein.

                Aber weil es einige - zu viele - Deppen gab/gibt, die sich für Spaßvögel halten, wenn sie JavaScript dazu einsetzen, den Nutzer zu terrorisieren, deshalb gibt es in modernen Browsern immer mehr Möglichkeiten, einzelne Features von JS gezielt zu deaktivieren.

                MfG ChrisB

                --
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
                1. Aber weil es einige - zu viele - Deppen gab/gibt, die sich für Spaßvögel halten, wenn sie JavaScript dazu einsetzen, den Nutzer zu terrorisieren, deshalb gibt es in modernen Browsern immer mehr Möglichkeiten, einzelne Features von JS gezielt zu deaktivieren.

                  MfG ChrisB

                  Das muß mir ausgerechnet einer sagen, der mitverantwortlich dafür war, daß das Forum vor einigen Jahren mal vorübergehend geschlossen wurde.
                  Bitte einmal an die Nase fassen.
                  MFG :o/

                  1. Hi,

                    Aber weil es einige - zu viele - Deppen gab/gibt, die sich für Spaßvögel halten, wenn sie JavaScript dazu einsetzen, den Nutzer zu terrorisieren, deshalb gibt es in modernen Browsern immer mehr Möglichkeiten, einzelne Features von JS gezielt zu deaktivieren.

                    Das muß mir ausgerechnet einer sagen, der mitverantwortlich dafür war, daß das Forum vor einigen Jahren mal vorübergehend geschlossen wurde.

                    Wenn du jetzt noch erläutern könntest, welcher Zusammenhang da bestehen soll?

                    Bitte einmal an die Nase fassen.

                    Wenn du schon mal bei Rot über eine Ampel gegangen bist, oder deinen Kaugummi nicht ordentlich entsorgt hast - dann bitte auch selber erst mal an die Nase fassen. (Beides hat genauso viel mit dem zu tun, was ich oben sagte, wie das, was du darauf entgegnetest.)

                    MfG ChrisB

                    --
                    Light travels faster than sound - that's why most people appear bright until you hear them speak.