2012-05-27 3 views
1

У меня есть сайт, который вращается вокруг транзакций между двумя пользователями. Каждый пользователь должен соглашаться на те же условия. Если я хочу API, чтобы другие веб-сайты могли реализовать это на своем собственном веб-сайте, я хочу убедиться, что другие веб-сайты не могут взаимодействовать с процессом, включив в него больше полей или вещей, которые не имеют отношения к моему приложению. Это возможно?Может ли клиентская сторона испортить мне API?

+0

Можете ли вы описать свой рабочий процесс более подробно, включая используемые технологии? На данный момент информации недостаточно, чтобы ответить прямо, кроме «нет, это невозможно, с правильно и надежно спроектированным сайтом» –

+0

Согласен с Майклом, было бы здорово, если бы вы могли описать, например, ваш сценарий. Помимо этого, на мой взгляд, из приведенного выше текста вы не можете заставить кого-либо реализовать свои правила/протокол. Но вы можете, конечно, проверить и подтвердить, какие из них делать. – Hassan

+0

На моем веб-сайте пользователь A может создать новую транзакцию с описанием и соглашением с нашими условиями обслуживания. Пользователь B отправляется по электронной почте и может согласиться на те же условия или изменить условия, которые вернутся к пользователю A. Я хочу, чтобы пользователи других веб-сайтов настраивали транзакции одинаково, описание и согласие с нашими условиями. Я обеспокоен тем, что если один из сайтов, использующих мой API, добавит дополнительные поля или их собственные условия, и я хочу, чтобы это не происходило. – user1419758

ответ

0

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

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

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

Например, Google имеет множество различных API для разных целей, и каждый API имеет очень определенное количество требуемых параметров, которые разработчик должен использовать для успешного HTTP-запроса. Хотя целью этих API является , позволяют разработчикам расширить функциональность, они позволяют получать доступ только к очень конкретным частям данных.

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

Для получения дополнительной информации о передовых методах API см. 7 Rules of Thumb When You Build an API и слайд-шоу от инженера Google под названием How to Design a Good API and Why That Matters.

1

Если бы я был реализован, я бы разрешил другим сайтам использовать маркеры/URL-адреса/виджеты, которые связывают их с моим сайтом. Так, например, веб-сайт X хочет использовать мою услугу для согласования пользователей A и B на тех же условиях. Их страница будет иметь встроенную форму/фрейм, который будет создан на моем веб-сайте, а пользователь B также получит электронное письмо со ссылкой на страницу моего сайта (или страницу веб-сайта X с формой/фреймом, сгенерированным на моем сервере). Рассмотрите, как разные сайты используют eBay, чтобы позволить пользователям платить. Вы покупаете все на сайте, но когда вы платите, либо вы попадаете на страницу ebay, либо возвращаетесь после оплаты, либо на веб-сайте есть небольшая форма/фрейм, который напрямую связан с ebay. Но это мое решение, один из способов сделать это. Надеюсь это поможет.

+0

Возможно, вы можете сделать это для меня? – user1419758

+0

Конечно, если вы можете поделиться своим письмом, я могу отправить письмо, и мы можем двигаться дальше оттуда. – Hassan

+0

Отправил вам электронное письмо, вы можете удалить комментарий выше, указав свой адрес электронной почты, чтобы избежать спама. – Hassan

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