DieSchittigs / contao-content-api-bundle

Contao JSON-API
MIT License
41 stars 9 forks source link

Possible White-Label Domain Restriction #5

Closed fkaminski closed 5 years ago

fkaminski commented 6 years ago

Hallo, ich teste dies gerade und würde gerne wissen ob es möglich ist die Anfragen/Ausgaben auf bestimmte Domains zu beschränken. Also das nicht jeder auf die Daten zugreifen darf ...

saibotd commented 6 years ago

Das sollte kein Problem sein. Ich bin nur nicht sicher, ob ich die Funktion mit in den Controller packen soll… Konfigurieren könnte man es dann ja so:

// parameters.yml
content_api_whitelist:
    - 127.0.0.1
    - 80.98.23.34
fkaminski commented 6 years ago

Das wäre super. ginge die Konfiguration dann auch mit Domain Angaben z.B.: - xyz.de ? Bin mir nicht sicher ob eine reine IP Adresse z.B bei shared hostern auseicht ...

saibotd commented 6 years ago

Das ginge wahrscheinlich per gethostbyaddr($_SERVER['REMOTE_ADDR']) - ich probier's mal aus

saibotd commented 6 years ago

Ok, eigentlich sollte es schon gehen, nämlich mit Symfony-Bordmitteln: https://symfony.com/doc/current/security/access_control.html Bei mir zumindest klappt das nicht. Hat jemand eine Idee? Ich würde das gerne auf diese Art lösen, bevor ich was eigenes stricke. Calling @padarom

saibotd commented 5 years ago

Es gibt jetzt die Möglichkeit, eigene Header zu definieren (Access-Control-Allow-Origin). Es gibt auch einen Hook, der vor jedem Response ausgeführt wird (apiBeforeInit), in dem man auf IP/Host etc. prüfen könnte.