2011-05-19 28 views
0

我想知道流行郵件網站如何處理/調用服務器端腳本。他們如何以不同的方式做到這一點,即用戶不容易破譯他們正在調用哪個文件來調用說登錄身份驗證。流行郵件網站如何處理服務器端腳本?

對於例如:從雅虎的網站,我沒有登錄頁面上查看源文件,看到

<form method="post" action="https://login.yahoo.com/config/login?" autocomplete="" name="login_form" onsubmit="return hash2(this)"> 

通常動作正在被要求提交按鈕右邊的服務器端腳本文件?因此他們正在重定向到.done的其他網站(即認證後),但我們怎麼知道他們調用哪個文件來運行腳本?..用戶名和密碼在哪裏。我也試過wireshark捕獲,因爲他們使用後,我不會在url中看到用戶名/密碼,但在wireshark我應該看到正確的?

對不起一個蹩腳的問題,但只是好奇這些大人物的工作。

回答

1

您是否僅僅對URL https://login.yahoo.com/config/login?感到困惑?

考慮:Web服務器根本不需要使用文件。擁有像http://example.com/login.php這樣的URL只是映射到磁盤上文件的一種非常懶惰的方式。在內部,Web服務器將收到請求/login.php,並且如果在爲主機example.com配置的目錄中存在文件login.php,則必須查看其配置,然後執行該文件並將結果發送回用戶。這是一項複雜的任務。

相反,它可能只是收到查詢/config/login?,並用它做什麼完全不同,就像...您登錄。

你從來沒有直接在遠程服務器上執行的文件。這很重要。總是有一個程序將URL轉換爲可執行程序或動作。這完全是任意的,與文件系統無關。

嘗試搜索「漂亮的網址」

+0

「總有一個程序將URL轉換爲可執行程序或動作」:)) 並不總是如此。並非所有的框架工作。也可以在沒有任何框架的情況下實現漂亮的URL(oops!)。 – gaRex 2011-05-19 13:44:39

+0

@gaRex **總是**將URL轉換爲正在進行的操作。最經常使用的是Web服務器將請求URL轉換爲硬盤上的文件。另一種方法是偵聽服務器直接將請求URL轉換爲特定的函數調用。我曾經在哪裏提過框架? – deceze 2011-05-19 13:51:08

1

/config/login?在這種情況下,只是登錄到login.yahoo.com服務器的入口點。它可能是一個HTTP處理程序名稱,並且當該處理程序在該Web服務器上被調用時,它只會調用其他服務器端調用(C++或java或其他任何東西)。

因此,它對你隱藏起來。他們(可能)只是在服務器端執行'方法'或一系列方法......完成時通過相同的http處理程序/入口點將一些數據返回給瀏覽器。

這些服務器入口點或HTTP處理程序在該表單被post'ed並轉發給此調用的實際處理程序時從瀏覽器獲取所有數據。

搜索HTTP處理程序模塊。

+0

是啊也許我應該改正我的問題,我想我的問題是如何處理程序知道要調用哪個文件。我想它使用URL重寫.. – devgp 2011-05-19 04:57:59

+0

@devgp我可以告訴在Apache HTTP處理程序的情況下,您將入口點方法映射到Apache配置中的URL。一旦流程到達處理程序中的入口點方法,它就由你決定調用任何你想調用的方法(在另一個庫中調用一個方法,將'請求'放入一個隊列中......)然後返回或等待答覆。 HTH。 – Coder 2011-05-19 14:45:52