php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-09-2010, 17:23
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard XSS // Variablen an iFrame durchreichen (ohne Parameter der iFrame Source)

Hallo zusammen.

Ich schreibe einen iFrame mittels JS in Seite A und lade von Seiten B den iFrame-Source nach.

Code auf example-server-A ...

Code:
server_a_var1 = 'var1';
server_a_var2 = 'var2';
document.write('<iframe id="iframeID" src="" .... ></iframe>');
document.getElementById('iframeID').src = 'http://example-server-B.com/file.html';
Code auf example-server-B ...

file.html
Code:
document.write(parent.server_a_var1);
document.write(parent.server_a_var2);

Leider verhindert das Cross-Site-Scripting, dass ich in file.html die Variablen von Server A auslesen kann. Ist ja soweit auch nachvollziehbar.

Ich muss/will aber Variablen von meinem Hauptdokument an das iFrame geben. Aktuell mache ich es durch Anhängen an den URL und Auslesen des Querystrings. Aber ein URL ist ja auch begrenzt was die erlaubte Länge angeht.

Da die übergebenen Parameter länger als erlaubt sein können, suche ich nach einer anderen Lösung.

Habt ihr eine Idee?

Thx
Haxe
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #2 (permalink)  
Alt 20-09-2010, 17:41
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

POST?
SCRIPT-Element mit externer source?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 21-09-2010, 11:20
reok
 Registrierter Benutzer
Links : Onlinestatus : reok ist offline
Registriert seit: Sep 2010
Beiträge: 22
reok befindet sich auf einem aufstrebenden Ast
Standard

Leider beschreibst du nicht, was genau du versuchst mit dieser Technik zu realisieren. Sonst könnte man vielleicht Alternativen aufzeigen.

Außerdem ist mir nicht ganz klar, was du mit "Anhängen an den URL und Auslesen des Querystrings" meinst. Setzt du die iFrame-URL ständig neu, wenn sich ein Parameter ändert? So dass auch die iFrame-Seite neu geladen wird?

Im Endeffekt also in etwa diesen Aufruf, sobald sich eine Variable auf Seite A ändert:
document.getElementById('iframeID').src = 'http://example-server-B.com/file.html?var1=...&var2=...';

Realisierbar wäre dies nämlich dann mit einem POST, anstatt einem GET:
HTML-Code:
<form id="updater" action="http://example-server-B.com/file.php" method="POST">
<input type="hidden" name="var1" value="...">
<input type="hidden" name="var2" value="...">
</form>
Mit document.getElementById('updater').submit(); könntest du dann immer wieder den iFrame aktualisieren und dort die POST Parameter auslesen. Die POST Daten sind zwar ebenfalls beschränkt, aber diese Beschränkungen liegen meist eher im Bereich mehrerer MB. Verwenden müsstest du dann allerdings zum Beispiel PHP, anstatt reines HTML + Javascript

Wenn du allerdings nicht möchtest, dass die iFrame-Seite ständig neu geladen wird, könnte auch die Verwendung der Textmarke Sinn machen, also der letzte Teil einer URL hinter der Raute:
http://example-server-B.com/file.html#var1-abc-var2-xyz
Somit könntest du Name-Werte-Paare einfügen, die du per Javascript ausliest und dann entsprechend splittest. Beachten muss man allerdings, welche Zeichen hier überhaupt erlaubt sind. Evtl ist die Konvertierung in Ascii-Werte oder base64 nötig. Soweit habe ich mich damit noch nicht befasst. Ob die maximale Länge hierbei aber nicht auch beschränkt ist, kann ich auch nicht sagen. Jedenfalls würden die ständigen HTTP-Requests wegfallen.
__________________
not null blog - a developer's worries & solutions

Geändert von reok (21-09-2010 um 11:27 Uhr) Grund: Nachtrag
Mit Zitat antworten
  #4 (permalink)  
Alt 21-09-2010, 16:48
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Ich kann nur mit JS arbeiten. Die iFrame-Source liegt auf einem Server der nur die reine Datei liefern kann. Also kein PHP.

POST wäre sicher eine Möglichkeit. Kann man überhaupt POST Daten mittels JS auslesen?

Zum Vorgehen ... Ich erstelle dynamisch ein iFrame und setze die Source dafür ebenfalls dynamisch. Der Inhalt wird einmal geladen.

@wasaga: Ein <script src ....> wäre eine gute Möglichkeit. Da aber die Source auch auf dem Server liegt, der nichts dynamisch in diese Dateien schreiben kann, bringt mir das nicht. Und die "master"-Datei referenzieren kann ich auch nicht, da ich deren Ort auch nicht (mehr) kenne. (innerhalb der nachgeladenen Dateien)

Ich muss alle Daten, welche ich innerhalb der nachgelandenen Datei(en) brauche "irgendwie" übergeben.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 21-09-2010, 17:43
reok
 Registrierter Benutzer
Links : Onlinestatus : reok ist offline
Registriert seit: Sep 2010
Beiträge: 22
reok befindet sich auf einem aufstrebenden Ast
Standard

Naja, wie du schon sagtest, durch die Cross-Site-Scripting Schutzmaßnahmen, sind genau solche Aktionen eigentlich nicht (mehr) möglich, ohne riesen Umwege. Brauchst du das Ganze denn nur für dich selber oder ist es eine Webseite, die für die Öffentlichkeit (bzw. auch andere Besucher) zugänglich sein soll?
Das Lockern von Sicherheitsrichtlinien im Browser oder der Einsatz von Greasemonkey oder anderen Tools würde nämlich evtl etwas helfen, falls du nur selber oder zumindest ein kleinerer Personenkreis damit arbeiten muss.
Sonst sehe ich da wenig Möglichkeiten. Per Javascript kann man jedenfalls nicht direkt auf POST-Daten zugreifen.

Im Prinzip kannst du natürlich auch den umgekehrten Weg gehen. Also du sendest die Daten nicht vom Parent an den Frame sondern forderst sie vom Frame beim Parent an. Hierzu muss aber dann zumindest der Parent Server PHP können. Dann könntest du im Frame eine Javascript-Datei einbinden, die auf dem Parent Server liegt und per PHP erstellt wird und somit dann die Daten hat, die du benötigst. Dynamischer wird das Ganze noch beim Zusammenspiel mit XMLHttpRequest. Ob das allerdings in irendeinerweise dienlich ist und nicht total den Rahmen sprengt, wage ich zu bezweifeln.

Mir persönlich fällt also sonst keine direkte Möglichkeit mehr ein. Aber warum willst du überhaupt so viele Daten an das Script übermitteln, das die Kapazität der GET Parameter nicht mehr ausreicht? Vielleicht sollte man hier ansetzen und versuchen die Daten einfach zu verringern, auszulagern oder geteilt zu übertragen?!
__________________
not null blog - a developer's worries & solutions
Mit Zitat antworten
  #6 (permalink)  
Alt 21-09-2010, 19:15
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Abraxax Beitrag anzeigen
POST wäre sicher eine Möglichkeit. Kann man überhaupt POST Daten mittels JS auslesen?
Das hatte ich mehr zum Übergeben der Daten gemeint. Aber wenn du keinen Einfluss darauf hast, wie der Fremdserver Daten erstellt ...

Zitat:
Ein <script src ....> wäre eine gute Möglichkeit. Da aber die Source auch auf dem Server liegt, der nichts dynamisch in diese Dateien schreiben kann, bringt mir das nicht.
Wieso? Einbinden kannst du es doch auch unter deiner Domain - wo du dann auch Zugriff darauf hättest.

Zitat:
Ich muss alle Daten, welche ich innerhalb der nachgelandenen Datei(en) brauche "irgendwie" übergeben.
Was ist denn das für eine komische Bastel-Umgebung, in der man solche Klimmzüge machen muss?
Wer ist da wieder wo zu geizig, in eine vernünftige Schnittstelle zu investieren ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 22-09-2010, 09:48
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Wieso? Einbinden kannst du es doch auch unter deiner Domain - wo du dann auch Zugriff darauf hättest.
Das Problem ist, dass dies nicht meine Server sind und auch nicht unter einer unserer Domains laufen kann. Auch in dieser Version hätte ich das Problem der Datenübergabe. Dann evtl. kann ich PHP nutzen (POST 2 PHP), muss dann aber wieder vom externen Script auf meinen Server, um die Daten wieder zu holen.

Das ist dann wirklich krank. ;-)

Zitat:
Was ist denn das für eine komische Bastel-Umgebung, in der man solche Klimmzüge machen muss?
Das ist keine Bastel-Lösung. Das ist eine komplexe Webanwendung, welche ihre Daten aus Performance-Gründen in die Welt verteilt.

Zitat:
Wer ist da wieder wo zu geizig, in eine vernünftige Schnittstelle zu investieren ...?
Das hat nichts mit geizig zu tun. Ich habe nur keine Möglichkeit auf die Dateien auf den Akamai-Servern Einfluss zu nehmen. Denn dort liegt das nachzuladende File.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #8 (permalink)  
Alt 22-09-2010, 13:37
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Abraxax Beitrag anzeigen
Ich habe nur keine Möglichkeit auf die Dateien auf den Akamai-Servern Einfluss zu nehmen. Denn dort liegt das nachzuladende File.
Na ja, dann lad' es nach, und gut ist.

Wenn das nicht geht - dann ist das für mich eine Bastel-Lösung.
Wenn Loadbalancing dazu führt, dass man clientseitig irgendwelche Klimmzüge machen muss, um an die Daten zu kommen ... dann läuft doch wohl irgendwas falsch.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 23-09-2010, 09:49
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Die benötigten Daten werden dynamisch generiert. Zu diesem Zeitpunkt sind die Dateien bereits verteilt.

Ich denke, dass wir hier zu keiner brauchbaren Lösung kommen.

Auf meiner Recherche habe ich noch DOM write() gefunden. Hiermit könnte ich den Inhalt des iFrames in eine vorhandene .html Datei schreiben. Damit könnte ich auf das iFrame verzichten und habe das Problem mit der Übergabe nicht mehr.

Was hälst du von dieser Art der Problembewältigung?
Krank oder akzeptabel?
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #10 (permalink)  
Alt 23-09-2010, 12:38
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Abraxax Beitrag anzeigen
Auf meiner Recherche habe ich noch DOM write() gefunden.
Du meinst document.write?

Zitat:
Hiermit könnte ich den Inhalt des iFrames in eine vorhandene .html Datei schreiben. Damit könnte ich auf das iFrame verzichten und habe das Problem mit der Übergabe nicht mehr.
Ich dachte, du hast keinen Zugriff auf das Script, das die Daten liefert?
Wenn du es so umschreiben kannst, dass es per document.write Inhalte ausgibt - dann solltest du doch auch alles andere denkbare mit ihm machen können?

Zitat:
Was hälst du von dieser Art der Problembewältigung?
Krank oder akzeptabel?
Ist der “old skool”-Weg, den JS-Counter, Banner-Services etc. seit Ewigkeiten nutzen - „funktioniert“ zumindest, ohne das man sich dabei um die SOP kümmern muss.
(Funktioniert nur in „echtem“ XHTML nicht mehr - ist aber egal, XHTML ist eh tot, und HTML5 unterstützt das weiterhin, wenn nicht als XML ausgeliefert.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 24-09-2010, 15:48
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Du meinst document.write?
Nein.

Die Daten werden so oder so via document.write() geschrieben. Das Problem ist, dass die nachgeladenen Daten dies ebenfalls machen.

Die die Seite schon fertig geladen ist, habe ich ein Problem. Daher das iFrame. Damit habe ich das Problem der Variablenübergabe. Als Notlösung hatte ich DOM write() gefunden.

z.B. das hier ...

Auf das Hauptscript habe ich Zugriff. Aber nur bevor es verteilt wird. Während der Verteilung stehen aber erst verschiedene Daten fest, welche ich im Hauptscript mit speziellen Platzhaltern in mein Script packen kann. Ich kann dies jedoch nicht in den verteilten Daten, da diese 1:1 übergeben werden. Die spez. Vars werden dort leider nicht ersetzt.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
iframe ohne den Rand ?? patrickwe HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 3 25-12-2006 18:33
Bannertausch-Script OHNE Iframe o. JavaScript!? GundeCK Apps und PHP Script Gesuche 9 11-08-2005 11:42
Parameter an src in iframe übergeben mine PHP Developer Forum 1 24-09-2004 10:01
Werte aus IFrame an anderes IFrame übergeben Lordi HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 4 28-10-2003 18:22
Iframe ohne rahmen ? Torix PHP Developer Forum 1 29-04-2002 00:24

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:05 Uhr.