PhoneGap с серверной HTML-форме приводит к ошибке нулевого реферера - PullRequest
0 голосов
/ 10 июня 2018

У меня есть базовое приложение phonegap с просто index.html по умолчанию, после загрузки index.html и запуска события device_ready я загружаю html-форму прямо с сервера, используя ajax, и заменяю только тело index.html.Пока все хорошо ... но при отправке формы обратно на сервер rails я получаю следующую ошибку

ActionController::InvalidAuthenticityToken (The browser returned a 'null' origin for a request with origin-based forgery protection turned on. This usually
means you have the 'no-referrer' Referrer-Policy header enabled, or that you the request came from a site that
refused to give its origin. This makes it impossible for Rails to verify the source of the requests. Likely the
best solution is to change your referrer policy to something less strict like same-origin or strict-same-origin.
If you cannot change the referrer policy, you can disable origin checking with the
Rails.application.config.action_controller.forgery_protection_origin_check setting.
):

Я попытался установить реферер в index.html как

    <meta name="referrer" content="unsafe-url" /> or
    <meta name="referrer" content="origin-when-crossorigin" />

выдает

HTTP Origin header (file://) didn't match request.base_url (http://192.168.1.5:4000)

, по-прежнему получая ту же ошибку.

Некоторая дополнительная информация: протокол index.html это файл: /// server_side.html с http: // протокол загружается в индекс XHR.html

1 Ответ

0 голосов
/ 06 апреля 2019

Я знаю, что уже слишком поздно для ответа на этот вопрос, и вы, вероятно, решили его.

В любом случае, я решил аналогичную проблему для своей конкретной цели, добавив следующую строку в config/application.rb в моем приложении Rails:

Rails.application.config.action_controller.forgery_protection_origin_check = false
...