我想通克服與令牌問題的兩個方面,但他們兩人都在某些方面有缺陷的,雖然,但可用:
- Elmah.mvc允許你在URL決定要使用,所以如果你通過禁止訪問/ ELMAH URL不允許訪問原始ELMAH,而是添加appsetting的elmah.mvc這樣的:通過提供更安全的
<add key="elmah.mvc.route" value="elmah_very_secure_url"/>
然後/隨機url你可以是唯一一個abl的人e訪問它。這種方法存在一些安全漏洞,因爲它依賴於祕密URL,但許多網站實際上在使用這種方法發送給用戶時,只有您可以使用該URL登錄等。有關更多信息,請參閱security.stackexchange.com上有關這種方法的安全性和影響是什麼
- 做自己的方法,您可以從控制檯調用以提供所需的Authentication標頭。它可以是這個樣子,對角(的想法只是你使用確實的請求的攔截已經添加標記,並利用它發出去ELMAH框架):
function elmah(){
angular.element(document.body)
.injector()
.get("$http")
.get("\elmah")
.success(function(response)
{
var elmahWindow = window.open("");
elmahWindow.document.write(response);
});
};
然後,如果您在控制檯中鍵入elmah(),您將打開一個新窗口。這種方法似乎是足夠安全的(除非你改變方法來接受一些參數,然後濫用xss或其他),但問題是,你只能看到elmah中的原始視圖,並點擊所有的URL失敗。它可以以各種方式進行擴展,但我沒有看到用於修復它的簡便方法。