• Как решить проблему вырезания слешей в json_encode?

    Misanthropist
    @Misanthropist Автор вопроса
    Web-developer
    В общем так:
    1. При проблеме с кодированием: у функции json_encode() вторым параметром можно передать флаг JSON_UNESCAPED_UNICODE. Тогда не ANSI-символы не переводятся в коды. Только необходимо следить чтобы вся работа с данными велась в UTF-8.
    2. Есть похожая проблема при работе с PDO: если использовать подготовленные запросы, и запрос формировать с уже вставленными данными, а не через bind() - то PDO фильтрует текст запроса и удаляет слеши. Если делать как положено для подготовленных запросов - через bind() - тогда слеши остаются как есть.
    Ответ написан
    Комментировать
  • Где и стоит ли хранить данные авторизации через OAuth2 и откуда их брать при следующих запросах?

    Misanthropist
    @Misanthropist Автор вопроса
    Web-developer
    Ну, oauth2-сервер, ясное дело, может в БД залезть. А вот приложение доступа к базе не имеет. Приложению доступны localstorage, cookie и, может быть, session. Ну, чисто теоретически, можно поставить memcache. И то, не очень бы хотелось приложение привязывать к бэкэнду. Т.е. по сути имеем для хранения/получения информации: локальное хранилище, куки и запросы к API, пока действует токен доступа.

    Чтобы не спрашивать пароль снова и снова - я храню в сессии access_token. Однако, любой пользователь с этой сессионной кукой получит доступ к access_token. А если там же хранить еще и refresh_token - пользователь получает нелимитированный по времени доступ к API. Что в общем-то не очень хорошо.
    Ответ написан
  • Есть ли возможность сделать нативный SELECT в PostgreSQL по полю int[]?

    Misanthropist
    @Misanthropist Автор вопроса
    Web-developer
    При использовании
    SELECT * FROM table WHERE 17 = ANY(id)
    выдуются дублирующиеся результаты, а нужен один результат со всеми названиями категорий, id который есть в записи.

    Про индексы - спасибо за наводку, сейчас почитаю.
    Ответ написан
    Комментировать