Insomnia1988
Grünschnabel
Hi,
ich habe eine Seite "https://www.example.com/hallo/welt/?someGETparams" die in 'nem iframe den content einer anderen lädt "http://ziel-seite/foo/bar/" (beide gehören mir) und möchte über Javascript den content ändern. Darf es aber nicht aufgrund von Standard XSS Schutz ("SecurityError: Permission denied to access property "document" on cross-origin object").
Mein Problem ist, dass ich CORS nicht zum laufen kriege und auch keine Erfahrung damit habe. Ich hab mal auf stackoverflow geschaut und 'n paar Code-Schnipsel zusammen getragen aber es scheint nicht zu greifen. Mir fehlt z.b. die Info, wie genau der Pfad angegeben werden muss (deshalb hab ich in meinem Beispiel die URL meinem Szenario angepasst).
Folgendes habe ich versucht (läuft alles parallel):
1) In der PHP der Zielseite zu Beginn den Header geändert
2) Eine .htaccess in dem Ornder gepackt wo die Zielseite liegt
3) Im HTML head der Zielseite einen meta-tag hinzugefügt
Was mache ich falsch?
ich habe eine Seite "https://www.example.com/hallo/welt/?someGETparams" die in 'nem iframe den content einer anderen lädt "http://ziel-seite/foo/bar/" (beide gehören mir) und möchte über Javascript den content ändern. Darf es aber nicht aufgrund von Standard XSS Schutz ("SecurityError: Permission denied to access property "document" on cross-origin object").
Mein Problem ist, dass ich CORS nicht zum laufen kriege und auch keine Erfahrung damit habe. Ich hab mal auf stackoverflow geschaut und 'n paar Code-Schnipsel zusammen getragen aber es scheint nicht zu greifen. Mir fehlt z.b. die Info, wie genau der Pfad angegeben werden muss (deshalb hab ich in meinem Beispiel die URL meinem Szenario angepasst).
Folgendes habe ich versucht (läuft alles parallel):
1) In der PHP der Zielseite zu Beginn den Header geändert
PHP:
header('Access-Control-Allow-Origin: https://www.example.com');
header('Access-Control-Allow-Credentials: true');
if ($this->getRequestMethod() == 'OPTIONS') {
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Max-Age: 604800');
header('Access-Control-Allow-Headers: x-requested-with');
exit(0);
}
Code:
<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www\.)?(example.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
HTML:
<meta http-equiv="Access-Control-Allow-Origin" content="https://www.example.com">
Was mache ich falsch?