2010-05-20 74 views
1

我試圖自動將數據輸入到表單域中。問題是用戶不知道這個數據(用戶/通行證)。我並沒有明確地隱藏它們,但它們也不需要知道它。在外部網站中自動化字段輸入

這是用來自動登錄我們的幾個外部合作伙伴網站,他們不希望我們的代理商知道他們的密碼。可悲的是,大多數這些網站沒有任何我可以使用的API ...因此我必須讓用戶登錄。

我試過使用iframe和javascript,但遇到了拒絕安全權限的問題它訪問。可悲的是,我們的客戶無法將我們的域名添加到他們的網站(他們似乎是第三方)。

要求: - 展示頁面 - 自動將數據輸入字段

會很好: - 自動登入類似form.submit() - 閃光/ AJAX的支持。這些似乎給VB應用程序的問題。

有沒有辦法通過javascript/html做到這一點,如果沒有,你有任何建議的C#/ PHP/asp.net選項?

PS:我不知道這個techinque叫什麼,所以谷歌似乎沒有幫助我。請直接談談我實際嘗試完成的術語。

回答

0

這裏最好的辦法可能是爲這些應用程序構建代理。您的C#代碼應該向遠程服務器請求URL(發送任何postdata),然後將結果顯示給用戶。這樣一來,你的用戶,你正在構建的代理應用程序進行交互,然後你可以使用JavaScript操縱網頁,甚至服務器端做的事情就像

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

0

如果您向他們發送一個唯一的ID(鏈接到特定用戶)而不是他們用來登錄的用戶名和密碼,該怎麼辦?這樣,如果您不知道密鑰,那麼對於外部單詞是「安全」的,而這些用戶對他們的實際用戶名/密碼沒有任何瞭解。

類似於:http://yourdomain.com/login.php?key=12345ABCD678
或更好,與mod_rewritehttp://yourdomain.com/login/12345ABCD678

在您的登錄腳本中,$_GET表示ID,從您的語言選擇中檢索用戶/從數據庫傳遞,並繼續登錄。

0
更換

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

我想你會想用cURL使用某種服務器端語言來做到這一點。

在我認爲的幾乎所有語言中都有cURL的實現,但最受歡迎的之一是PHP's implementation

我認爲這可能是您拼圖的缺失部分。