I have a web crawler on Heroku and I'm trying to call the script from a POST request on Parse Cloud Code httpRequest but I receive a 403 forbidden response basically telling me the Referer Header didn't pass. How can I get past this?
Django's CSRF protection tests the Referer
header: see https://docs.djangoproject.com/es/1.9/ref/csrf/#how-it-works. Browsers typically send that header to indicate the page that originated a request, but programmatic user agents don't (cURL
, Python requests
, and presumably Parse.Cloud.httpRequest
) without being told to do so.
To add custom headers to a Parse request, see: Parse.Cloud.httpRequest call with HTTP request header (note the headers
object).
That said, you also need to make sure you have a way to get the CSRF token to begin with, and include it either in a XCSRF-Token
header or a form field (unclear from your question whether you are doing that).