Cross-Origin Resource Sharing (CORS) / Header konfigurierbar anbieten

Moiners!

Es wäre schön, wenn die Kameras (speziell die 6001HD) anbieten würden, einen CORS-Header

Access-Control-Allow-Origin: *

mitzuschicken. Damit könnten die findigen Leute sehr einfach Webseiten zur Steuerung der Kameras herstellen. Mit fehlt z. B. eine ganz einfache Seite, die den Alarm-Status anzeigt und ändert. Nur ein Knopf, kein Gedöns, lösbar in 20 Zeilen JavaScript.

Mit Gruß

George

Hallo,

Daten holen ohne CORS:


<header> 
<script src="123.456.789.123/cgi.cgi?cmd=X&param=Y"></script>
</header>

Daten abschicken kannst du auch ohne CORS, das Ergebnis kann halt nicht verwendet werden.

Aber ich stimme zu: Nen optionaler CORS Header waere sehr hilfreich.

Stimmt, der Request kommt natürlich trotzdem bei der Kamera an. Daran hatte ich erst nicht gedacht, aber ich bin es irgendwie gewohnt Rückgabewerte zu überprüfen. Trotzdem vielen Dank!

Ich auch!

Deswegen lass ich bei mir die Steuerbefehle ueber den Server laufen auf dem die Webseite liegt. Dort zieh ich das ganze durchn Nginx und bau mir die Header rein wie ich will. Gleichzeitig verberge ich dadurch noch die Benutzerdaten vor dem „End-User“ der Webseite.



	location /cam {
		proxy_pass https://ip.ad.dre.ss;
		proxy_set_header 'Authorization'	'Basic base64igeMich';
		add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-FooApp-Auth-Token';
	}


Wobei das CORS und das verschleiern der Benutzerdaten ist natuerlich nur ein netter Nebeneffekt der Verschluesselten Verbindung die ich aufbaue zwischen Server und Proxy vor der Cam.

Ziel war es ja ohne Webserver auszukommen, aber ich habe mir auch erstmal mit einem httpd (busybox) und curl auf der Fritzbox beholfen. Vielen Dank. NGinx muss ich mir irgendwann mal angucken.