LINUX.ORG.RU

Аутентификация или привязка сервиса к домену


0

1

Доброго времени суток, форумчане! Есть веб-сервис на отдельном сервере. Любой может зарегистрироваться на нем и получить js - файл для подключение сервиса на свой сайт. Необходимо реализовать привязку к домену, чтобы js-файл для одного сайта не мог бы использоваться на другом сайте, хотя бы идею. Сервис написан на php. Подскажите как это можно сделать. У меня была идея при каждом запросе js - скрипта к сервису проверять 1) ключ индентификации сайта 2) проверять совпадает ли домен из $_SERVER['HTTP_REFERER'] и домен сайта из БД по переданному ключу. Но я не уверен, что данный способ достаточно защищает.

Такая привязка реализована в Google Analytic.

Спасибо за внимание!

Проверяй HTTP_REFERER. 100% защиту (в плане проверки откуда пришел запрос) все равно сделать невозможно. Т.к. любые заголовки запроса можно подделать.
Ну можно еще обфусцировать js код, и чтобы он тоже слал имя сервера.

pi11 ★★★★★
()

Генерировать длиннющий ключ при регистрации и проверять его. Тогда никакой HTTP_REFERER нафиг не нужен.

SOmni ★★
()
Ответ на: комментарий от serega_by

Придётся тебе зарегать там сайт, получить ключ и проверить, можно ли подделать HTTP_REFERER и при этом получить правильные данные с этим ключом, но с другого домена (локалхоста).

SOmni ★★
()
Ответ на: комментарий от serega_by

Все что можно проверить - это http заголовки и то что передает js код. Подделать эти две вещи можно в любом случае.

pi11 ★★★★★
()
Ответ на: комментарий от pi11

Как я понял, использовать этот JS будет > 1 человека, а обычным пользователям потделывать referer для использования сайта я смысла не вижу.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

Если ты имеешь ввиду пользователей которые придут на сайт где установлен этот JS код - то тут нет проблем.
В js коде меняем обращение на оригинальный сервер на свой скрипт, который подделывает заголовки отправляет данные на оригинальный сервер и возвращает скрипту. Так что, конечным пользователям ничего не надо подделывать.

pi11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.