Ответы пользователя по тегу API
  • Где взять учебники/книги с описанием joomla api и примерами работы с ним?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Официальный сайт, увы, не дает понимания азов.
    Он даёт больше, чем понимание азов!
    Ответ написан
    Комментировать
  • Какие best practices по защите API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Есть 3 вида API:
    1. Публичные - доступные публично с известными параметрами при запросе.
    2. Приватные (авторизованное обращение) - доступные публично с известными параметрами при запросе, но с ключом(токеном по паролю) или сертификатом.
    3. Закрытые - проприетарные клиенты со своим закрытым протоколом обмена с серверным API.

    JS в браузере - это только 1.
    Если не 2 и не 3 - значит остаётся 1.

    Если МЕГА-тупо (для п.1): можно проверить длительность сессии в момент POST-запроса на сервер и, если длительность меньше времени самого быстрого заполнения формы человеком в ручном режиме, считать данные недостоверными.
    Ответ написан
    6 комментариев
  • Как организовать доступ к ресурсам в REST API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Как-то непонятно: обычно методы (аналоги: create, set, get,update, delete и т.д.) выносятся (монтируются) на точки входа клиентских запросов (endpoint).
    Все передаваемые методу параметры - это уже POST JSON (в большинстве случаев).
    Бывают и исключения, когда методы простые и параметры идут в адресе endpoint, но тогда адрес должен возвращать БЕЗ редиректов и сервер должен корректно "понимать" этот запрос, т.к. фактически это уже поисковый запрос, не имеющий отношения к RESTful.

    напр. пользователю понравился музыкальный трек, он переходит по ссылке /media/{track_id}, а его редиректит на /music-groups/{mg_id}/albums/{a_id}/tracks/{track_id}
    Адрес не меняем (без редиректа!), но можем вернуть в ответе расширенную информацию о треке, группе, альбоме в виде структуры (массив или дерево).
    Ответ написан
    2 комментария
  • Как рассчитать цену за использование API своего сервиса?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Цену для клиентов за использование API
    для уже существующих клиентов - бесплатно, однозначно!
    Если речь идёт О ПОТЕНЦИАЛЬНЫХ клиентах, то в начале нужно раздавать бесплатно с лимитом запросов в сутки. Как только появится интерес у аудитории (ресурсопотребление сервера - сразу же покажет) - вводить оплату, исходя из конкурентоспособности Вашего направления.
    Вот подобный пример - поисковое API.
    Ответ написан
    Комментировать
  • Безопасно ли использовать $_SERVER['REMOTE_ADDR'] для допуска к API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    если запросы идут например от Angular(IP-Юзвера а не App-Server)

    Недопустить использования API извне, за исключением Whitelisted.

    Два противоречащих друг другу правила.

    Вы можете давать:
    1. публичный (когда токен не нужен).
    2. авторизованный доступ (когда клиент уже залогинился и получил токен для доступа к API, затем обратился к API, подписав запрос выданным токеном при логоне)
    3. закрытый - двухфакторная авторизация с динамическим ключом (когда формула генерации динамического токена для подписи запроса выдана через иной канал: почту или ещё как-то)

    Других вариантов для API - нет.
    Ответ написан
    2 комментария
  • Сdn на backend?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. SPA
    2. Пакетная передача информации в формате JSON: сразу несколько данных
    3. Сжатие всего трафика
    4. Устанавливаете логическую связь (если она есть) между двумя разными группами аудитории (по-геолокации) и только эту информацию синхронизируете между двумя различными GEO-площадками.
    5. По GEO-DNS, на основе IP-адреса пользователя, направляете на ближайшую GEO-площадку.
    Ответ написан
    Комментировать
  • Почему во многих сервисах нужно обязательно получить access token для работы с api?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    без токена - обезличенный доступ к методам API
    с токеном - контролируемый доступ к методам API

    Для чего с токеном: для сбора инфы для разных внутренних нужд сервиса.
    Ответ написан
    Комментировать
  • Есть ли сервис антиспама по API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Как лучше сделать закрытое REST API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    CORS не имеет ничего общего с API. Т.к. это - браузерная технология и используется для скриптов внутри браузеров.

    Простой принцип разделения:
    1. Для всех - список параметров без ключа.
    2. Для себя - список параметров с неким ДИНАМИЧЕСКИМ ключом (токен подписи) и формулой его генерации, которая известна только Вам.

    Теперь, защита от перехвата (лучше делать, даже если есть SSL):
    1. На сервере храним формулу генерации подписи запроса на основе входных параметров запроса к API и временной метки.
    2. При обращении к функциям "закрытого" API (для личных целей) Вы формируете подпись запроса, предварительно СИНХРОНИЗИРУЯ время с серверным, и затем, согласно формуле, отсылаете на сервер.
    3. Сервер, зная формулу делает тоже самое и сверяет значения присланной и полученной (по той же формуле на стороне сервера) подписи: если они не совпадают ИЛИ просрочена ИЛИ это дубликат - сервер запрос к API отклоняет, иначе - запрос исполняется.
    4. Сервер кэширует запрос на время погрешности синхронизации, чтобы предотвратить повторное использование идентичного запроса посредством MiTM-перехвата.
    Ответ написан
    Комментировать
  • Что почитать по разработке API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Образец, который мне нравится в целом.
    RESTful API
    Ответ написан
    Комментировать
  • Какие проекты позволяют распознавать говорящего по голосу?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Посоветую немного другой подход: это пересечение коридоров средней несущей сигнала для пиковых значений (или коридор отклонений).
    1. Берём нормализованный сигнал (ось x: время, ось y: амплитуда) и строим среднюю кривую.
    2. Затем, делаем допуск на погрешности: увеличиваем толщину кривой и получаем доверительную зону, в которой мы будем рассматривать сигнал.
    3. Затем, пересекаем зону из только что полученного входного сигнала (с микрофона) со всеми хранимыми эталонными зонами (одна такая зона - один заранее записанный голос человека с применёнными преобразованиями из п.1 и п.2).
    Максимальное совпадение зон при пересечении (наложении) даст искомого члена семьи.
    Ответ написан
    Комментировать
  • Как безопасно связать front и back приложения по api?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Проверьте A-запись DNS по IP-шнику. Если есть - значит это домен/сайт. Ну и дальше - решайте.
    Ответ написан
    8 комментариев
  • Как создать бота который будет описывать картинку на JS или PHP?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    НС - это фильтрация по признакам входных данных.
    Для картинки: это цвет основного центрального пикселя и цвета соседних (окружающих его) пикселей.
    Распознавание по-шагам:
    1. Находим уникальные области изображения (ограниченные прямоугольником или кругом), составляющие топологический "скелет" всего изображения.
    2. Находим максимальное сопоставление "скелетов" на эталонных и на распознаваемом изображении.
    3. Выполняем сравнение этих областей с эталонными в процентном соотношении с учётом корректности топологии: линий, процентов расстояний и углов направлений каждой уникальной области относительно другим уникальным областям одного изображения.
    4. Профит!
    Ответ написан
  • Интернет Магазин на фронт-енде + firebase реально?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Или может просто послать его изучать CMS?
    Если есть оплата - должна быть база, база - это бэк-енд.
    Поэтому пусть лучше сразу учит CMS Joomla! + Joomshopping и потом он сам на этом двигле - делает любые свои хотелки.
    Ответ написан
    Комментировать
  • Приложение и сайт, как построить API сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Как правильно хранить сессию при разработке JSON API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Авторизуетесь и получаете токен (он же и есть ID-сессии).
    2. Подписывайте этим токеном запрос к API (хэшируете) и отправляете запрос с токеном на сервер: в отдельном заголовке или как один из параметров при вызове API (лично я - предпочитаю 2-й вариант (аналог jwt): шифровать и тестить мне проще).

    UPD: вот тут - продолжение...
    Ответ написан
  • Как осуществить ограничение на количество запросов к API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Тут всё просто:
    Каждый запрос - фиксируем в таблицу БД (желательно в Redis): [IP], [логин], [timestamp], [кол-во запросов за час].
    Превышение нужного порога - блокируем доступ к API, через занесение записи в таблицу BAN-ов: [логин/IP], [время, когда разрешить доступ]
    Ответ написан
    Комментировать
  • Какую выбрать архитектуру взаимодействия мобильных приложений и веб-версии с API?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Я бы не использовал ангуляр в этом случае вообще.
    Хватило бы одного jquery.
    2. Пишем класс взаимодействия с API, методы (авторизацию, откуда взять(URL) и куда положить (DOM-node) и т.д.)
    3. Пишем класс-манипулятор с использованием класса работы с API: взять-положить, заменить отправить и т.д.
    4. Используем методы класса-манипулятора для обработки событий объектов (клики по линкам, и т.д.)
    Ответ написан
    Комментировать