0

Ich versuche, einige Anfrage von einem Javascript-Client zu machen, um mit dem Django-Rest-Framework zu bauen. Alle GET-Anfragen an/api/test sind öffentlich, dann wird keine Sitzung oder Token oder Wate-Server benötigt. Alle POST api/Test sind privat und Benutzer oauth2Django Restframework und Kreuzherkunftsanforderungen

Nach the documentation verwenden, ich mit django-core-headers Querursprungsanforderung zu verwalten haben. Nach der Installation dieses Moduls zu meinem Django, habe ich gesetzt CORS_ORIGIN_ALLOW_ALL zu True aber: 1) ist es eine gute Praxis? 2) Gibt es eine gute Lösung, um Cross-Origin-Anfragen nur in einigen Punkten zuzulassen?

Dank

Antwort

0

Mit django-Core-Header Sie CORS Ursprünge mit CORS_ORIGIN_WHITELIST und CORS_ORIGIN_REGEX_WHITELIST einschränken. Wenn Sie nicht benötigen, um beliebige Ursprünge zuzulassen, legen Sie diese fest; Sonst bist du gut.

Sie könnten, wenn Sie möchten, einen Dekorator schreiben, um den Ursprung in Ihren Ansichten zu überprüfen, um zu sehen, ob er mit einem gewünschten Ursprung übereinstimmt (vielleicht wird ein bestimmtes Modell verwendet, um festzustellen, welche Benutzer für POST-Anfragen autorisiert sind?). Aber wenn Sie GET-Anfragen von einem beliebigen Ursprung zulassen und sich nicht darum kümmern, woher POST-Anfragen kommen, solange sie autorisiert sind, dann sind Sie im Klaren - wie können Sie schließlich die Herkunft einschränken, wenn Sie nicht möchten Ich weiß nicht, woher Kunden Anfragen machen können.

+0

danke für die antwort. Leider kann Anfrage vom Kunden Browser dann kann ich nicht eine Weiße Liste setzen :( – billyJoe

Verwandte Themen