2010-07-09 69 views
1

我使用名爲DotNetPanel(DNP)的軟件,我正在修改PHProxy以自動登錄到管理面板。我已經爲其他幾種類型的軟件(如cPanel)完成了這項工作 - 使用身份驗證頭或POST變量就可以了,但DNP使用了我不熟悉的東西--ViewState。使用PHP以編程方式登錄到DotNetPanel

  1. 當我POST用戶/傳遞數據時,頁面刷新甚至沒有發生任何事情。
  2. 當我POST用戶/ pass/__ VIEWSTATE數據頁面產生一個http://support.microsoft.com/default.aspx?scid=kb;EN-US;323744錯誤。

任何想法?

有趣的是,如果我編寫一個JavaScript函數來填寫相同的信息和頁面,並模擬登錄按鈕上的「點擊」,它就可以工作。

回答

1

嘗試並正確地瞭解當您正常登錄時(即發佈內容,正在設置的cookie,身份驗證方法等)發生了什麼,並使用PHProxy或其他方法進行重現。要查看這些信息,請嘗試使用LiveHTTPHeaders之類的工具。

+0

我實際上正在使用LiveHTTPHeaders,並且正在發送與發送完全一樣的POST變量和路徑。我也用wireshark來踢腿。 – sholsapp 2010-07-09 01:20:27

+0

@gnucom由於您使用wireshark,您能否告訴您瀏覽器發送的內容與腳本發送的內容是否有區別? – quantumSoup 2010-07-09 02:59:15

+0

您是否嘗試瞭解ViewState的工作原理?這裏有一些文檔:http://msdn.microsoft.com/en-us/library/ms972976.aspx – quantumSoup 2010-07-09 15:28:01