Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
116 of 152 menu
Бесплатный курс: Практика на Реальных Проектах и Работы в Портфолио! Начало 11 ноября. Жми для записи!

Таблица 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