# IFrame inhalt von externer Seite beschneiden?



## Jan-Frederik Stieler (18. August 2014)

Hallo,
nun muss ich mal eine etwas doofe Frage stellen, wenn ich per IFrame einen Inhalt einer fremden Seite, ich habe die Erlaubnis, einbinde, kann ich dann diesen Inhalt beschneiden?
Also ich möchte nur eine bestimmte Tabelle einbinden und nicht auch z.B. das Menü.

Viele Grüße


----------



## alxy (18. August 2014)

Glaube nicht, dass das geht. Stichwort Same-Origin-Policy.


----------



## Sempervivum (18. August 2014)

Ich würde versuchen, den iFrame in einen Wrapper zu legen und dann den betr. Seitenbereich durch Einstellen der Größe des Wrappers und der Position des iFrames zu maskieren. Hat den Nachteil, dass das alles nicht mehr passt, wenn sich die Struktur der eingebetteten Seite ändert. AFAIK hat man jedoch lesenden Zugriff auf den Inhalt des iFrame. Dann könnte man u. U. die Position und die Größe der Tabelle automatisch ermitteln und die Parameter für die Maskierung berechnen.


----------



## Sempervivum (18. August 2014)

PS: Hab's mal ausprobiert und festgestellt, dass man keinen lesenden Zugriff auf den Inhalt des iFrames hat aus dem Grund den alxy genannt hat. Schade, dann ist eine automatische Maskierung wohl nicht möglich.
Maskieren durch Positionieren funktioniert jedoch.


----------



## Fragenfrager (19. August 2014)

Du könntest -wenn Dir der Besitzer das gestattet-, die komplette Seite über PHP (curl) auslesen und dann nur die gewünschten Tabellen in Deinem iframe darstellen. Dazu sollte sich aber der Aufbau der Orginalseite möglichst nicht verändern...


----------



## djheke (20. August 2014)

Sollte doch auch mit file_get_contens() gehen. Mit preg_match nach der Tabelle suchen und in deiner Seite einbinden. So brauchst du auch kein iFrame. Allerdings musst du die Tabelle mit CSS neu gestalten und ein Quellennachweis bereitstellen.
Nicht probiert, aber könnte doch klappen.

Hab es mal mit meiner Seite probiert und hat geklappt.

```
<?php
 $anleitung=file_get_contents("http://www.gipspferd.de/css/anleitung/a12/a12.php");
 preg_match("#<div id=\"inhalt\">(.*?)</div>#s",$anleitung, $ausgabe);
 echo $ausgabe[0];
?>
```


----------



## Sempervivum (20. August 2014)

Greift denn bei PHP die SOP nicht?


----------



## alxy (20. August 2014)

Natürlich nicht. Wie unterscheidet sich denn ein "normaler" HTTP-Request von einem via cURL/PHP. Richtig, gut umgesetzt nämlich garnicht 
Außerdem ist bei dem PHP Request das Sicherheitsproblem nicht gegeben.


----------



## Jan-Frederik Stieler (20. August 2014)

Hallo,
ersteinmal vielen Dank für die vielen Ideen.
Bezüglich des HTTP-Request, müsste dann nicht auch das ganze per Ajax realisiert werden können, falls man per PHP keinen zugriff bekommt?

Grüße


----------



## alxy (20. August 2014)

Nein, da greift wieder die SOP.


----------



## ComFreek (20. August 2014)

alxy hat gesagt.:


> Nein, da greift wieder die SOP.


Nicht, wenn CORS konfiguriert wurde: Cross-origin resource sharing


----------

