Провайдеры OpenID - что останавливает вредоносных провайдеров?

StackOverflow https://stackoverflow.com/questions/86090

  •  01-07-2019
  •  | 
  •  

Вопрос

Так что мне нравится идея OpenID.Я поддерживаю его на своем сайте и использую везде, где это возможно (например, здесь!).Но мне не совсем ясна одна вещь.

Сайт, поддерживающий OpenID, в основном принимает любого поставщика OpenID, не так ли?Как это работает с сайтами, которые хотят сократить количество регистраций ботов?Что помешает вредоносному провайдеру OpenID автоматически устанавливать неограниченное количество идентификаторов ботов?

У меня есть несколько идей, и я опубликую их в качестве возможного ответа, но мне было интересно, может ли кто-нибудь увидеть что-то очевидное, что я пропустил?

Это было полезно?

Решение

Вы перепутали две разные вещи - идентификацию и авторизацию.Просто потому, что вы знаете, кто кто-то такой, это не значит, что вы должны автоматически давать им разрешение на что-либо делать.Саймон Уиллисон прекрасно описывает это в OpenID - это не учетная запись! Подробнее о внесении в белый список читайте в разделе Белый список социальных сетей с OpenID.

Другие советы

Короткий ответ на ваш вопрос: "Это не так". OpenID намеренно предоставляет только механизм для централизованной проверки подлинности сайта;вам решать, каких поставщиков OpenID вы лично считаете приемлемыми.Например, Microsoft недавно было принято решение разрешить OpenID на своем сайте Healthvault только у нескольких избранных поставщиков.Компания может принять решение разрешить вход в систему OpenID только со своей точки доступа, поддерживаемой LDAP, правительственное учреждение может принимать OpenID только с сайтов, поддерживаемых биометрией, а блог может принимать TypePad только из-за их интенсивной проверки на спам.

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

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

Возможное решение - вы все еще можете запросить новые идентификаторы для прохождения теста на КАПЧУ.Точно так же, как боты могут зарегистрироваться с поддельными / несколькими адресами электронной почты на любом сайте, но и там не пройти этап "верификации".

Или нам придется начать вести черные списки провайдеров?На самом деле это будет работать не очень хорошо, учитывая, насколько тривиально просто настроить нового провайдера.

Насколько я могу судить, OpenID адресует только идентификацию, а не авторизацию.Остановка ботов - это вопрос авторизации.

Обратите внимание, что в отличие от обычных логинов "для каждого сайта", OpenID предоставляет вам идентификационные данные, которые потенциально выходят за рамки отдельных сайтов.Более того, этот идентификатор даже является URI, поэтому он идеально подходит для использования с RDF для обмена или запроса произвольных метаданных об идентификаторе.

С OpenID вы можете сделать несколько вещей, которые вы не можете сделать с обычным именем пользователя от нового пользователя.

Во-первых, вы можете выполнить несколько простых операций с белым списком.Если *.bigcorp.example - это OpenID от сотрудников Big Corp, и вы знаете, что Big Corp не являются спамерами, то вы можете внести эти OPENID в белый список.Это должно хорошо работать для сайтов, которые являются полузакрытыми, возможно, это социальный сайт для нынешних и бывших сотрудников.

Однако лучше, если вы сможете сделать выводы из других мест, где использовался конкретный OpenID.Предположим, у вас есть сопоставление OpenIDs со значениями репутации из Stackoverflow.com.Когда кто-то появляется на вашем веб-форуме с OpenID, вы можете узнать, имеет ли он приличную репутацию в Stackoverflow, и пропустить КАПЧУ или испытательный срок для этих пользователей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top