Таблица oc_api_ip
Таблица oc_api_ip используется для управления безопасностью доступа к API (Application Programming Interface) в OpenCart. Она содержит белый список IP-адресов, с которых разрешено выполнение запросов к API. Если функция ограничения доступа по IP включена в настройках API, то система будет проверять IP-адрес клиента на наличие в этой таблице.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
api_ip_id |
int |
Уникальный идентификатор записи (первичный ключ, автоинкремент). |
api_id |
int |
Внешний ключ, который связывает IP-адрес с конкретным API-пользователем. Ссылается на поле api_id в таблице oc_api.
|
ip |
varchar(40) |
Разрешенный IP-адрес. Может быть как IPv4 (например, 192.168.1.1), так и IPv6. |
Как это работает
В админ-панели OpenCart, в разделе System > Users > API, администратор может создавать учетные записи для доступа к API. Для каждой такой учетной записи можно включить опцию Restrict IP Address (Ограничить доступ по IP).
Если эта опция включена, то система перед выполнением любого API-запроса будет проверять IP-адрес, с которого пришел запрос. Она сверит его со списком адресов в таблице oc_api_ip, где api_id соответствует ID используемого API-ключа.
Если IP-адрес клиента найден в списке разрешенных для данного API-пользователя, запрос будет выполнен. Если нет - доступ будет запрещен, и клиент получит ошибку.
Этот механизм является важным инструментом безопасности, так как он предотвращает использование скомпрометированного API-ключа (токена) с любого другого сервера, кроме заранее указанных.
Пример SQL-запроса
Посмотреть все разрешенные IP-адреса для API-пользователя с ID 1:
SELECT *
FROM oc_api_ip
WHERE api_id = 1;
Добавить новый разрешенный IP-адрес для API-пользователя:
INSERT INTO oc_api_ip (api_id, ip)
VALUES (2, '203.0.113.45');
Смотрите также
-
таблицу
oc_api,
которая хранит учетные записи API-пользователей -
таблицу
oc_api_session,
которая хранит активные сессии API