Панель управления разработчика и веб-сервисы - оставить в одном проекте или отделить их? - PullRequest
0 голосов
/ 01 ноября 2010

Сохраняете ли вы панель управления разработчика и веб-сервис приложения в одном проекте?или вы разделяете их на 2 разных проекта?

(панель управления разработчика используется для настройки API веб-службы, проверки журналов, чтения спецификации документа и сведений о каждом веб-сервисе)

Когда вы размещаете решение, вы делаете что-то вроде этого.

developer.domain.com <-- developer's control panel

api.domain.com <--- web service api

or 

api.domain.com <-- both developer's control pnel and web service api

Ответы [ 2 ]

0 голосов
/ 01 ноября 2010

Я бы настоятельно рекомендовал разделить два домена (например, на "developers.domain.com" для панели управления / документации и "api.domain.com" для самого API).Это важно для безопасности межсайтовых сценариев.

Если оба находятся на «api.domain.com», может произойти следующее:

  • Предположим, вы вошли в систему управленияпанель, и, следовательно, есть cookie для api.domain.com
  • Теперь вы посещаете совершенно другой сайт, evildomain.com, на котором есть вредоносный контент Flash или Silverlight, который, кажется, делает что-то невинное (например, игра,фильм и т. д.)
  • Вредоносный контент Flash или Silverlight пытается позвонить на сайт api.domain.com для кражи или изменения вашей личной информации (он обращается к странице панели управления, а НЕ к самому API).!)
  • Злонамеренный вызов автоматически получит cookie-файл для входа, прикрепленный к нему браузером, и поэтому будет выглядеть как законный вызов сайта панели управления
  • api.domain.com будетдолжны быть разрешены кросс-домены (с файлом crossdomain.xml), чтобы разрешить законные вызовы API от клиентов Flash / Silverlight, и поэтому злонамеренный вызов будет проходить какну, и, таким образом, сайт панели управления будет скомпрометирован!

Существуют способы избежать атаки, приведенной выше, при этом API и панель управления остаются в одном домене, но самый простой способ избежать этогоэто разделить домены.

0 голосов
/ 01 ноября 2010

Я не вижу причины отделять это, когда:

  • Нет технической причины, чтобы отделять их;

  • Выиметь правильную настройку аутентификации, чтобы вы были уверены, что только разработчики могут получить к ней доступ;

  • Инструменты разработчика фактически привязаны к api.domain.com.

Если, например, у вас было несколько приложений (api1, api2, api3 и т. Д.), И сайт разработчика фактически охватывает эти разные приложения, то да, оставьте их раздельными.

Если приведенное вышепричины не применимы, иди, что тебе больше всего подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...