2012-02-21 3 views
1

У меня есть сайт (mysite.com), который я управляю, у которого есть система входа на место. В этом разделе входа у меня есть ссылка на внешний сайт (externalsite.com), который показывает данные и отчеты. У меня нет контроля над этим внешним сайтом. Проблема в том, что мои посетители должны войти на мой сайт, перейдите на эту страницу, на которой показана ссылка на внешний сайт и нажмите на нее. Затем они переходят на этот сайт и снова должны войти в систему. Ну, это большая боль для моих посетителей, и мне нужно ее решить. Мои пользователи не самые технологичные, поэтому этот дополнительный вход им очень неудобен. Вот мой план:предотвратить двойной логин для моих пользователей

(1) Нормальный Войти на mysite.com, который посылает их на странице приветствия
(2) В моей таблице пользователей в моей базе данных по mysite.com, у меня есть столбец externalusername и externalpassword. Я либо сам заполняю их вручную, либо создаю быструю форму для того, чтобы пользователь мог ввести свои учетные данные только один раз и сохранить их в моей базе данных.
(3) На странице приветствия я использую эти два столбца и напечатать что-то вроде:

<form action="https://externalsite.com"> 
<input type="hidden" name="username" value="joeusername"> 
<input type="hidden" name="password" value="deepsecretpassword"> 
<input type="submit"> 

(4) Затем пользователь просто нажимает покориться и отправляется на другой сайт.

Это звучит разумно? Есть ли проблемы с этим? Я просто написал небольшую страницу html, чтобы проверить это, и он отлично работает. У меня никогда не было POST-формы в другом домене, но, похоже, это работает. Я знаю, что я отправляю логин/пароль в браузер в открытом виде, поэтому есть небольшая проблема с безопасностью, но я не думаю, что это действительно большая проблема. Наконец, externalsite.com может изменить ожидаемый POST таким образом, чтобы логин должен был называться login, а не выше username. Я не думаю, что это проблема, поскольку эти вещи не меняются, и если они это сделают, мне просто нужно поймать ее и настроить php или что-то еще, что печатает этот html.

Я ничего не пропустил? Наверное, я просто не чувствую себя на 100% комфортно, так как у меня нет контроля над externalsite.com. Мысли?

+0

Если у вас нет контроля над внешним сайтом, откуда вы знаете, что отправка входных данных будет работать? У вас есть документация о интерфейсах сайта? – Alfabravo

+0

@Alfabravo: OP заявил: «Написал небольшую страницу html, чтобы проверить это, и он отлично работает» – webbiedave

+0

Yikes, забыл надеть очки. Извините ... так да, отправьте данные, как ожидает внешний сайт. Если безопасность не вызывает беспокойства, идите за ней – Alfabravo

ответ

2

Я хотел бы предложить небольшой твик:

  • После нормального входа в систему mysite.com, пользователь отправляется промежуточную страницу, которая дает сообщение вдоль линий «Вход в систему внешнего сайта» (эта страница должна доставляться через https, так как он будет содержать информацию для входа пользователя).

  • Форма на межстраничной странице сразу же отправляется на внешний сайт через javascript.

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

+0

k Мне нравится материал https, который делает вещи более безопасными и безопасными.Но я не вижу, как это усиливает опыт пользователя. Похоже, что в моем дизайне пользователь хочет перейти к своему отчету на другом сайте, они нажимают кнопку и стрелу, они там как можно быстрее. – Landon

+0

О, я думаю, я понимаю. На mysite.com есть вещи, которые могут потребоваться пользователю, и он может не захотеть пойти на externalsite.com. Вы предлагаете просто отправить его на сайт externalsite.com после входа в mysite.com с помощью javascript? Я не хочу автоматически делать это, но вы правы, это спасло бы щелчок, если бы я хотел. Правильно ли я понимаю вас? – Landon

+0

Да. Авто-отправьте, если им нужно каждый раз входить в систему. Если нет, вы можете просто пропустить эту часть. – webbiedave

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