我有一個安全相關的問題。我的Web應用程序允許用戶輸入URL。該URL會立即存儲在數據庫中(此時不進行修改,這是錯誤的嗎?)。我使用Linq到SQL,因此它已經被參數化。將超鏈接顯示回用戶時,我正在使用中繼器。我是否需要編碼超鏈接文本以及工具提示和href屬性?或者,我只需要編碼文本(顯示)。另外,我假設URL編碼是我需要的,但是我也必須使用HTML編碼嗎?編碼超鏈接 - 何時以及如何?
我試着Server.UrlEncode
在文本是<script> alert("hello") </script>
的所有三個屬性,它似乎搞亂了href和文本。我猜這意味着它不完全安全?
編輯 - 如果我在輸出上編碼,我應該補充一點,如何使其顯示爲「/」而不是「%2」? 謝謝
感謝您的回覆。鏈接將顯示在用戶的配置文件區域中。例如,他們的個人資料顯示「主頁」。當其他用戶訪問該用戶的個人資料時,他們可以看到該鏈接。因此,我無法真正檢查鏈接的標題,但希望確保它們不會對我的網站用戶實際訪問鏈接的用戶造成問題。 – Skoder 2010-02-26 15:11:28