Alternative zum iFrame?

3 Antworten

Warum muß die Anmeldemaske im iFrame gezeigt werden? Gestalte die Maske bzw. die komplette "Anmeldeseite" so, daß sie sich nahtlos in Deinen restlichen Webauftritt integriert. Oder beschäftige Dich mit Java/Ajax, wenn Du nicht komplette Seiten sondern nur einige Inhalte nachladen möchtest.

NoHumanBeing  16.12.2016, 10:44

Es klingt für mich so, als würde die Anmeldemaske nicht auf seinem Server liegen. Es klingt so, als würde der Fragesteller versuchen, z. B. GMail in einem IFrame (nicht iFrame - ist kein Apple-Produkt ;-) ) anzuzeigen, wobei man sich hierfür zunächst an seinem Google-Account anmelden muss.

2
Allesnoob12 
Fragesteller
 16.12.2016, 10:53
@NoHumanBeing

genau sowas in der Art meine ich NoHumanBeing.......Es geht hier aber um eine Seite wo man sich definitiv anmelden muss. Wenn ich nun nicht angemeldet bin zeigt er mir die maske nicht im Iframe an sondern die komplette Url springt auf die Seite. (Die Seite ist eine SAP BO Seite, vllt sagt das einem was :) )

Als Beispiel mit Gmail. Gehen wir mal davon aus, dass man nur Inhalte bei Gmail sieht wenn man dort angemeldet ist. Jetzt willst du Gmail in einem IFrame auf der Seite meineseite.de anzeigen lassen und bist aber nicht angemeldet. Dann sprint bei mir die ganze seite auf gmail.com und zeigt die anmeldemaske an. Was sehr nervig ist... ist möchte das die anmeldemaske im iframe angezeigt wird.

1
Kieselsaeure  16.12.2016, 13:00

Javascript, nicht java..

1
GanMar  16.12.2016, 14:34
@Kieselsaeure

Korrekt. Ich nutze beides nicht, daher ist es mir zwar theoretisch bekannt, liegt aber so weit unten auf dem Stack, daß es da immer zu Verwechslungen kommt.

0

Wenn ein Websitebetreiber verhindern will das seine Seie im iframe angezeigt wird, dann kann er das auch und es gibt keine technischen Mittel das zu umgehen.

Woher ich das weiß:Berufserfahrung – 20 Jahre Berufserfahrung
Allesnoob12 
Fragesteller
 16.12.2016, 11:33

Es geht nicht darum das es verhindert wird, wie oben bereits erwähnt, ist es möglich die seite anzeigen zu lassen. Nur muss man sich vorher auf der seite einloggen. Und diese Einlogg Maske möchte ich im IFrame anzeigen lassen. Funktioniert jedoch nicht und springt sofort auf die Website die eigentlicht nur im Iframe auftauchen sollte.

1
NoHumanBeing  16.12.2016, 11:57
@Allesnoob12

Dann wird der entsprechende Header eben nur dann übertragen, wenn ein Login erforderlich ist.

Auch das könntest Du nicht verhindern, außer Du machst irgendwas total "böses", z. B. dass Du die Anfragen/Antworten an die Seite über Euren eigenen Server irgendwie "proxiest" und die entsprechenden HTTP-Header herausstrippst.

Das ist aber ein ziemlicher "Hack" und das kann ich auch nicht "mal eben" herausfinden und ein bisschen Code dafür "zusammenstricken" und in ein Forum posten.

Die einzig "saubere" Möglichkeit wird es sein, mit dem Betreiber des Webservices eine Variante zu "vereinbaren", wie ihr den Login, entweder mit unterdrückter Option, idealerweise aber natürlich gleich unter Verwendung Eurer eigenen Loginmaske, vornehmen könnt. Vielleicht bieten sie dafür etwas an, etwa eine API, an die ihr die Logindaten schicken könnt, vielleicht auch nicht. Das hängt sicher auch davon ab, wie wichtig ihr dem Unternehmen als Kunden seid.

Als Einzelunternehmer bei einem Webservice von SAP wird man für Euch wohl kaum "Extrawürste braten". Seid ihr hingegen eine Aktiengesellschaft oder gar ein Konzern und ein wichtiger Kunde (heißt: bezahlt ihr viel Geld für den Service), wird man Euch wahrscheinlich eine Lösung anbieten. Je nach dem, wie wichtig ihr als Kunden seid und wie viel Aufwand es für den Betreiber des Dienstes bedeutet, wird das dann entweder kostenpflichtig, oder wenn ihr ganz viel Glück habt, macht man es "aus Kulanz".

Wie viel Euch das wert ist, sowohl an Aufwand, als auch an Geld, müsst ihr entscheiden.

Zu guter Letzt könnte man noch versuchen, die "offizielle" Login-Maske irgendwie zu "reverse engineeren", d. h. (z. B. mit der Ablaufverfolgung im Browser) herauszufinden, wie die Logindaten übermittelt werden und das dann versuchen, nachzuahmen. Das wird dem Dienstbetreiber aber eventuell "sauer aufstoßen", wenn ihr das ohne sein Wissen macht und je nachdem, wie viele Sicherungsmaßnahmen da noch dazwischen sind, wird auch das eventuell nicht von Erfolg gekrönt sein, denn auch "cross site requests" sind beispielsweise (ebenfalls aus Sicherheitsgründen) sehr "geächtet" (und werden häufig unterdrückt/gefiltert).

1

Ich schätze, Du versuchst, eine fremde (möglicherweise bekannte) Website in einem Frame darzustellen.

Eigentlich alle kommerziellen Seiten dürften das verhindern, um Missbrauch (insbesondere Ausspähen der Anmeldedaten, Übernehmen der Session, etc.) zu erschweren und ich persönlich würde mich auch auf keiner Website anmelden, die mir meine GMail (oder was auch immer) in einem Frame anzeigen möchte. ;-)

http://stackoverflow.com/questions/22124060/why-cant-iframe-work-with-google-gmail-facebook

Allesnoob12 
Fragesteller
 16.12.2016, 11:18

Ja verständlich :D jedoch haben die leute einen Benutzernamen und passwort etc.. also die Nutzer kennen die Seite.  Wenn sich die Nutzer vorher anmelden und dann auf die meineseite.de gehen, wird das/der? Iframe ohne probleme angezeigt. Hier geht es wirklich nur darum das es nervig ist das die leute komplett rausfliegen

1
NoHumanBeing  16.12.2016, 11:39
@Allesnoob12

Mmh, nutzt ihr die Seite geschäftlich? (Weil Du etwas von SAP schreibst. Glaube nicht, dass man als Privatperson was von denen benutzt. ;-) )

Wenn ja, als Geschäftskunde kann man die doch bestimmt kontaktieren. Eventuell gibt es eine spezielle API (Ajax, etc.), über die ihr einen Login (mittels eurer eigenen Loginmaske) vornehmen könnt.

2
Allesnoob12 
Fragesteller
 16.12.2016, 12:21
@NoHumanBeing

Genau, das wird geschäftlich genutzt.  Oder gibt es die Möglichkeit einen Browser auf einer Webseite einzubauen?

1
NoHumanBeing  16.12.2016, 12:27
@Allesnoob12

"Möglich" ist vieles. Man kann auch eine Fluiddynamiksimulation im Browser laufen lassen.

http://david.li/fluid/

Mit WebSocket wäre das bestimmt prinzipiell möglich, aber eben ein exorbitanter Aufwand, der sich nicht lohnt.

Habe gerade mal versucht, zu googeln, ob es einen Browser gibt, der in JavaScript oder Java (Applet) implementiert ist, scheint aber nicht so.

2