Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (21)

Наибольший вклад в теги

Все теги (92)

Лучшие ответы пользователя

Все ответы (211)
  • Как реализовать?

    bigton
    @bigton
    Web-программист
    Вот тут всё подробно расписано php.net
    Ответ написан
  • Как использовать токены для аутентификации в API?

    bigton
    @bigton
    Web-программист
    Как сделал я.

    От классических сессий при работе через API отказался.

    1. Для авторизации пользователь вводит логинпароль, устройство отправляет их по https на account/auth
    2. account/auth выдает token (token_id:token_val) и secret
    3. все дальнейшие запросы устройство отправляет по http указывая token и подписывая запросы с помощью secret

    Как работает.

    Сервер получает запрос, видит что пришел token, разбивает его через двоеточие на input_id и input_val. Выбирает из базы токен с пришедшим input_id, получает из базы значение token_val и secret. Сравнивает input_val и token_val. Если в базе нашелся токен с нужным id и значения val равны, пришло время проверить достоверность запроса.

    Клиент помимо токена передал sign (подпись), которую сформировал так (например) secret+api_path+query_param. На стороне сервера вам известно api_path и api_param, а secret выбрали из базы. Хешировать подпись принято через hmac().

    Помимо токена и подписи можно передавать time и так же класть его в sign, и на стороне сервера отсекать запросы запросы которым больше 60 сек.

    Таким образом.

    Если кто то слушает ваш канал, он не сможет подделывать запросы (а значит компроментировать), и из-за проверки времени жизни запроса не сможет вечно получать данные по однажды перехваченного запроса.

    А в базе токены можете хранить пока клиент сам не запросит их уничтожения и сохранить время последного обращения через токен, и удалять токены которые не использовались более 60 дн.
    Ответ написан
  • Сложно ли новичку создать сайт на Drupal?

    bigton
    @bigton
    Web-программист
    Если вам нужна соц.сеть, используйте движок соц.сети.

    Если вы не программист, то используя любой движок вы сможете настроить необходимый вам функционал используя только возможности движка в его административной части. Следовательно, функционал вашего продукта не будет оригинальным и достаточным.

    Подход "у меня есть гениальная идея, но я не хочу тратить на неё деньги" вас ни к чему не приведёт, если вы уверены в гениальности идеи, лучше вложить в неё свои деньги, привлечь деньги со стороны. В любом случае для хорошего проекта нужна хорошая команда, нужны профессионалы.

    И сразу хочу вас предупредить, сегодня 2015, а не 2000 год. Просто создать сайт это даже не половина успеха, а треть, может четверть. Гораздо больше денег, чем в создание, вам предстоит вложить в грамотный маркетинг.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (78)