Способы, отличные от iframe для передачи параметра из php в asp.net - PullRequest
0 голосов
/ 20 января 2012

У меня есть приложение PHP. Если я вошел в это приложение, я пытаюсь передать параметр в виде строки запроса через iframe на страницу asp.net.

Есть ли другой способ реализации, кроме использования iframe?

1 Ответ

0 голосов
/ 20 января 2012

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

Как?

Что ж, ваша цель - заставить один скрипт сообщить другому, что пользователь вошел в систему, верно?В PHP это обычно делается, помещая что-то в $_SESSION.Однако ваше приложение ASP не может прочитать $_SESSION.Вам нужно будет использовать что-то еще.

Когда пользователь входит в систему, создайте уникальное значение .Может быть, результат hash_hmac на некоторых интересных данных?Что бы это ни было, оно должно быть уникальным каждый раз, когда оно создается и не угаданным.Не добавляйте такие вещи, как IP-адрес пользователя или текущее время.

Сохраните уникальное значение в таблице базы данных, которую могут прочитать оба приложения.Также храните другую информацию, которая поможет идентифицировать пользователя, такую ​​как ее идентификатор (user_id или что у вас есть под рукой).

Итак, код PHP, который регистрирует пользователя, создал это уникальное значение и вставил его вобщая таблица базы данных.Теперь приложение PHP должно перенаправить пользователя в ваше приложение ASP.Включите уникальное значение в запрос.

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

Как только приложение ASP зарегистрировало пользователя,тогда он должен удалить уникальное значение из общей таблицы.Пользователь может быть перенаправлен туда, куда он направлялся.

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

Имейте в виду, что это слишком упрощенная реализация "единого входа" и полна предостережений и крайних случаев.Хотя это может работать для вас, это может быть не лучшее решение.Учитывая историю ваших вопросов, похоже, что вы уже давно боретесь с подобными проблемами.Вы можете подумать об использовании немного более «стандартного» механизма единого входа. SAML - 800-фунтовая горилла стандартов SSO.Обычно я не желал бы этого от своего злейшего врага, но, может быть, это то, что вы действительно ищете здесь.

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

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