Получить данные с веб-сайта после входа в систему, на стороне клиента - PullRequest
0 голосов
/ 22 сентября 2011

Я хотел бы импортировать данные, которые пользователь ввел в свой профиль на веб-сайте , которые я не контролирую .Я не хочу, чтобы пользователь передал мне свои учетные данные для входа в систему, чтобы получить данные со стороны сервера (подключение непосредственно к вышеупомянутому веб-сайту).Я бы предпочел, чтобы данные для входа оставались на компьютере клиента: это делает мой сервис более надежным, и мне не нужно обрабатывать конфиденциальные данные.

Я подумал, что это, вероятно, можно сделать с помощью JavaScript без особых хлопот. Однако, учитывая риски безопасности, он, похоже, блокируется браузерами. См. Как получить данные с JavaScript с другого сервера?

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

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Вы сказали это

Я не хочу, чтобы пользователь вручил мне свои учетные данные для входа в систему, чтобы получить данные со стороны сервера (подключение напрямую к вышеупомянутому веб-сайту).

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

Вы также сказали это

Я бы предпочел, чтобы данные для входа оставались на компьютере клиента: это делает мой сервис более надежным, и мне не нужно обрабатывать конфиденциальные данные.

Я действительно не уверен, что это хорошая идея.Вам все еще нужно заблокировать личную информацию.Но в любом случае, если вы действительно хотите, вы можете использовать localstorage - современные веб-браузеры поддерживают это.

Проверьте эту ссылку для учебника по локальному хранилищу. Хранение объектов в HTML5 localStorage

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

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

1 голос
/ 22 сентября 2011

Я не уверен, что понимаю, что вы пытаетесь сделать, но не существует безопасного способа проверки учетных данных входа в систему в клиенте браузера.Если вы хотите проверить учетные данные для входа, вам придется задействовать сервер.

Некоторые данные могут храниться на стороне клиента, но затем пользователь привязывается к определенному браузеру на определенном компьютере и не можетпользоваться услугой из любой точки мира.В старых браузерах данные, как правило, ограничиваются тем, что может храниться в cookie-файлах, и cookie-файлы не гарантированно сохраняются в течение какого-либо конкретного длительного периода времени.В последних браузерах данные могут храниться в локальном хранилище HTML5 , что обеспечивает немного более структурированный способ хранения данных, но даже в этом случае вы все равно застряли в одном конкретном браузере на одном конкретном компьютере.

Судя по вашим комментариям, вы пытаетесь "кэшировать" копию данных с веб-сайта A, к которым вы можете получить доступ из кода на стороне клиента на веб-сайте B при многократных посещениях вашего веб-сайта.Если это так, то похоже, что локальное хранилище HTML5 может работать как механизм кеширования.Вам нужно будет выяснить, как получить данные с веб-сайта A в кеш, так как кеш будет иметь доступ того же источника (домен X может получить доступ только к тем данным, которые были помещены в локальное хранилище HTML5 доменом X),но если вам удастся получить данные с веб-сайта A на клиентскую страницу веб-сайта B (возможно, с использованием JSONP), то вы можете кэшировать их с помощью локального хранилища HTML5.Вам нужно будет понять, что даже локальное хранилище HTML5 не гарантируется вечно (поэтому вам необходимо иметь возможность снова извлечь его с веб-сайта A, если требуется).

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