2010-07-09 2 views
0

У меня есть форма входа в мой домен (например: www.example.com/login).php curl - отправка данных формы на внешний сайт

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

Таким образом, чтобы добавить шаги пользователей к этому: 1. Пользователь вводит логин информацию о www.example.com/login 2. Пользователь направляется и имеет доступ к приложению на www.external.com/application без для повторного ввода данных для входа на сайт www.external.com/login

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

Любая помощь с этим была бы оценена. Я начинающий PHP! Кроме того ... приложение на внешнем веб-сайте является ASP.NET (я не уверен, что это имеет какой-то фактор, чтобы заставить это работать).

Спасибо за помощь, Марк.

ответ

0

В зависимости от того, как работает ваше приложение, что может работать, это иметь свою форму входа на точку example.com/login для external.com/application

так что ваша форма тег будет выглядеть следующим образом:

<form action="external.com/application" method="post"> 

Теперь ваше внешнее приложение/приложение должно быть настроено для приема данных из формы входа. Когда форма отправлена, браузер должен направить себя на external.com/application.

+0

Спасибо за то, Джош. Это тот подход, который я пытался опробовать, по крайней мере, похоже, что я на правильном пути. Проблема в том, что у меня нет контроля над внешним сайтом ... ребята на внешнем сайте должны установить что-то, чтобы разрешить входные данные, введенные на моем веб-сайте, чтобы пройти? –

0

Это возможный подход:

  • На www.example.com/login, сделайте классическую форму входа, который представленный на себя
  • На www.example.com/login, когда $ _POST обнаружено:

    • проверить, что учетные данные хорошие
    • если да, то магазин в таблице в вас сервер БД хэш посвященный этому пользователю (путем хеширования его идентификатор/пользователя/и т.д. ... независимо от вы хотите)
    • редирект www.external.com/login?hash=the_generated_hash
  • На www.example.com/verifyHash.php:

    • создать простой PHP файл, принять хэш в $ _GET и эхо «истина», если этот хэш существует в БД
  • на www.external.com/login

    • проверить, что хэш передается в $ _GET
    • если да, то простой $result = file_get_contents("www.example.com/verifyHash.php?hash=$_GET["hash"]");
    • если результат верен, то можно предположить, что пользователь имеет действительные учетные данные.

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

+0

Извините, я не видел, что вы не можете контролировать внешний веб-сайт ... Если они умны, они наверняка воспользовались некоторым уровнем безопасности в своей форме входа (например, секрет CSRF) ... Который полностью предотвратил бы вы делаете то, что хотите сделать, с простым перенаправлением. – bPizzi

+0

Хм, да, возможно, ты прав. Мне удалось настроить его так, чтобы я мог подключиться к внешнему сайту Wordpress и Drupal, но когда я пытаюсь подключиться к сайту ASP.NET, я не могу получить соединение ... –

+0

Да, и если бы вы справились чтобы заставить его работать, ваше решение может быть сломано когда-нибудь без предупреждения, как только они будут внедрять некоторую безопасность ... – bPizzi

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