2015-02-24 3 views
0

У меня есть гибридный плагин WordPress, который извлекает все данные с помощью завитка с основного сервера. Давайте назовем его А.Как аутентифицировать плагин WordPress по доменному имени?

B является клиент, который запрашивает для данных, а также может передавать данные А.

Теперь каждый запрос шифрования и аутентификации используя ключи доступа API.

Но проблема здесь в том, что я копирую плагин из B в новый клиентский сайт C, в тот момент, когда я использую одни и те же ключи доступа и т. Д. Плагин начинает работать.

Я хочу, чтобы иметь возможность ограничить доступ одного ключа доступа API к одному доменному имени. Как я могу это достичь?

+1

Рекомендация: Сделать частью лицензии, которую вы предоставляете своим клиентам. Честные будут следовать за ним, нечестные из них найдут способ нарушить ваш DRM. Это проблема, которую технология не может действительно решить уверенно, особенно когда такие вещи, как люди Wordpress, могут просто видеть ваш код. – TZHX

+0

Можете ли вы показать код, который выполняет аутентификацию? Использует ли он OpenSSL или Mcrypt или что-то еще для шифрования? – halfer

+0

Привет, Халфер, я использую HMAC для этого. –

ответ

0

Предложение по TJHX

сделать его частью лицензии вы даете своим клиент. Честные будут следовать за ним, нечестные из них найдут способ нарушить ваш DRM. Это проблема, которую технология не может действительно решить уверенно, особенно когда с такими вещами, как wordpress, люди могут просто видеть ваш код. К TJHX

Я также рассмотрел множество вариантов, но сам факт состоит в том, что пользователь всегда имеет доступ к коду в плагине wordpress и может легко внести поправки в заголовки запроса CURL, даже если вы его зашифруете. Все, что мы можем сделать, это добавить его в наши Лицензии.

В моем плагине есть фреймы, которые будут загружать данные на интерфейсе, поэтому я собираюсь принять доменное имя, когда пользователь покупает плагин, и проверит ссылки на мой iframe, чтобы отсортировать эту проблему.

Большое спасибо за помощь.

0

Я бы сказал, чтобы включить IP-адрес разрешенного хоста (B) в ваш администратор ключа доступа.

Итак: когда B выполняет вызов, вы можете проверить ключ и IP-адрес, из которого он звонит.

На A вы можете использовать что-то вроде $_SERVER['REMOTE_ADDR'] для проверки IP-вызова сценария.

Два недостатка: когда сайты перемещают серверы, плагин перестает работать. И, конечно же, люди все еще могут обманывать свой IP-адрес, поэтому есть способ обойти это, но по крайней мере вы делаете его намного сложнее и, вероятно, не стоите хлопот для большинства случаев.

+0

Привет, Эрик, то, что вы разделили, верно. но я не могу позволить себе остановить плагин, когда сайт движется. Это потребует ненужных писем для клиентов и т. Д. –

Смежные вопросы