Как избежать «фальшивых» AJAX запросов в Chrome расширении - PullRequest
0 голосов
/ 24 января 2020

Я пишу небольшое расширение Chrome, и мой вопрос в основном об алгоритмах. Предположим, мое расширение должно отправить несколько AJAX запросов на мой сервер. Можно ли быть уверенным, что именно этот AJAX запрос был получен именно от моего внутреннего номера? Я имею в виду, чтобы убедиться, что это не пользователь отправил этот запрос, подделав его. Буду благодарен за любые идеи.

1 Ответ

1 голос
/ 24 января 2020

Вам необходимо проверить источник запроса на вашем сервере, который должен содержать ваш добавочный идентификатор. Когда вы отправляете запрос AJAX от вашего внутреннего номера, параметр Origin будет выглядеть так:

chrome-extension://<extension_id> 

Теперь на сервере вам нужно проверить этот источник. Пример в php

$extensionID = "YOUR_EXTENSION_ID";
$origin = $_SERVER['HTTP_ORIGIN'];
if (strpos($origin, $extensionID) === false) {
// exit from code 
 exit();
}

Здесь завершено anwser как найти источник из запроса. Теперь ваш сервер будет получать AJAX запрос только от вашего добавочного номера. Если кто-то скопирует ваш код и запустится с другого расширения, ваш сервер не будет обрабатывать этот запрос.

Обратите внимание, что это защитит вас от фальсификации запросов от других расширений. Пользователь по-прежнему может открыть фоновую страницу вашего расширения и отправить AJAX запрос с консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...