2010-02-18 47 views
2

我有一個ASP.NET 3.5網站的主頁上的登錄表單,出於性能原因需要使用標準HTTP連接進行訪問。由於ASP.NET頁面的正常回發是相對於帖子的呼叫,所以這意味着當瀏覽器帖子的值不受保護時發送。ASP.NET Member Force HTTPS on PostBack

我希望做兩件事情之一,使這個安全:

  1. 強制回發是安全到同一頁
  2. 使用HTTPS連接
  3. 帖子發送到不同的頁面

有沒有辦法實現方案一?

我也期待在身份驗證服務,但看着URL引用它使用的是相對路徑:

Sys.Services._AuthenticationService.DefaultWebServicePath = '../Authentication_JSON_AppService.axd'; 

我沒有看到一個方法來覆蓋這個擺在HTTP路徑。

回答

1

您可以使用javascript更改表單的action屬性,告訴它使用https提交到其他頁面。我已經做到了這一點,它很好地工作。

你也可以改變它提交到相同的網頁與https,但我認爲asp.net會抱怨(不知道 - 從來沒有嘗試過)。

示例腳本:

document.forms[0].action = "https://www.whatever.com/submit_page.aspx"; 
+0

你能指出我工作的這個方法的版本?我想避免編寫自定義JavaScript函數,因爲需要額外的測試。 – Josh 2010-02-18 20:40:25

+0

我不能告訴你我的,但腳本很簡單 - 我編輯了我的答案,因爲它在評論中顯示不好。 – Ray 2010-02-18 20:53:45

+0

雷,你用ASP.NET 3.5 Web Forms做這個嗎?我收到一個viewstate驗證錯誤,我嘗試瞭解。 viewstate MAC的驗證失敗。如果此應用程序由Web場或羣集託管,請確保配置指定相同的驗證密鑰和驗證算法。 AutoGenerate不能在羣集中使用。 – Josh 2010-02-18 21:42:51