Автоматизировать ввод в поле на внешнем сайте - PullRequest
1 голос
/ 21 мая 2010

Я пытаюсь автоматизировать ввод данных в поля формы. Проблема в том, что эти данные (пользователь / пароль) не известны пользователю. Я не скрываю это явно от них, но они также не должны знать это.

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

Я попытался использовать iframe и javascript, но столкнулся с проблемой разрешений безопасности, запрещающих доступ. И, к сожалению, наши клиенты не имеют доступа для добавления нашего домена на свои сайты (они, похоже, являются сторонними). ​​

Требования: - Показать веб-страницу - автоматически вводить данные в поля

Было бы неплохо: - Автоматизировать вход, похожий на form.submit () - Поддержка Flash / AJAX. Похоже, это вызывает проблемы с приложением VB.

Есть ли способ сделать это через javascript / html, и если нет, есть ли у вас какие-либо рекомендации для параметров C # / php / asp.net?

PS: Я не уверен, как называется этот techinque, так что, похоже, Google не помогает мне. Пожалуйста, объясните мне терминологию того, чего я на самом деле пытаюсь достичь.

Ответы [ 3 ]

0 голосов
/ 21 мая 2010

Ваш лучший выбор здесь может заключаться в создании прокси для рассматриваемых приложений. Ваш код C # должен запрашивать URL-адрес с удаленного сервера (отправляя любые постданные), а затем отображать результат для ваших пользователей. Таким образом, ваши пользователи взаимодействуют с созданным вами прокси-приложением, и вы можете затем манипулировать страницами с помощью JavaScript, и даже на стороне сервера выполняются такие действия, как замена

<input type="text" name="username">

с

<input type="hidden" name="username" value="some-user">

0 голосов
/ 21 мая 2010

Я думаю, вы захотите сделать это, используя некоторый язык на стороне сервера, используя cURL .

Существует реализация cURL практически на каждом языке, одним из самых популярных является, однако, Реализация PHP .

Я думаю, это может быть недостающая часть вашей головоломки.

0 голосов
/ 21 мая 2010

Что если вы отправите им уникальный идентификатор (связанный с конкретным пользователем) вместо имени пользователя и пароля, которые они используют для входа в систему? Таким образом, это «безопасно» для внешнего слова, если вы не знаете ключ, и эти пользователи не имеют никакого знания об их фактическом имени пользователя / пароле.

Что-то вроде: http://yourdomain.com/login.php?key=12345ABCD678.
Или лучше, с mod_rewrite: http://yourdomain.com/login/12345ABCD678.

В вашем сценарии входа в систему $_GET этот идентификатор, извлеките пользователя / пароль из базы данных на выбранном вами языке и продолжите вход в систему.

...