У меня есть сайт (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. Мысли?
Если у вас нет контроля над внешним сайтом, откуда вы знаете, что отправка входных данных будет работать? У вас есть документация о интерфейсах сайта? – Alfabravo
@Alfabravo: OP заявил: «Написал небольшую страницу html, чтобы проверить это, и он отлично работает» – webbiedave
Yikes, забыл надеть очки. Извините ... так да, отправьте данные, как ожидает внешний сайт. Если безопасность не вызывает беспокойства, идите за ней – Alfabravo