【ASP.net MVC SignalR】SignalR & MVC 防止XSS(跨網站指令)

【ASP.net MVC SignalR】SignalR防止XSS(跨網站指令)
在做web聊天室的時候,總是會遇到XSS的攻擊,要如何有效防治這類個攻擊呢?待我說明囉!!
首先,我們要在web.config中加入一段文字

加入些文字後,我們就可以直接存取AntiXssEncoder的編碼方式囉!
之後在前幾篇文章所建立的 Chat.cs檔案中,傳送訊息的部份加上了AntiXssEncoder.HtmlEnCode()的編碼

...繼續閱讀 »

【ASP.net MVC SignalR】使用SignalR實作廣播、群組特定對象傳送

【ASP.net MVC SignalR】使用SignalR實作廣播、群組特定對象傳送
在做同步網頁的時候,我們通常都是以廣播的形式去更新,畢竟我們希望讓所有用戶都可以取得最新的資訊;但有時候我們可能會遇到其他特殊的需求,部分的群組更新資訊或是某一個特定的人更新資訊(EX:檔案上傳的Process bar、兩人之間的遊戲對戰...),這時候就會用到群組的特性,或是特定對象的傳送。
廣播、群組特定對象傳送

...繼續閱讀 »

【ASP.net MVC SignalR】SignalR連接模式更改與錯誤提示

【ASP.net MVC SignalR】SignalR連接模式更改與錯誤提示
在上一篇的文末,已經有說明用NuGet下載了SignalR,在今天想做出一個可以區分群組的方法,無意間發現了可以更改SignalR的傳輸方法,先做一個小小的紀錄,避免以後忘記還需要重新尋找
Install-Package Microsoft.AspNet.SignalR (SignalR下載的 NuGet指令)
在connection起始的時候,其實可以接上一個transport的參數進去,而這個參數接收的剛好是上一篇所說的網站同步的四種方式(webSockets、longPolling、serverSentEvents、foreverFrame)
假如以WebSocket或Server-Sent Event的方法,在許多瀏覽器上會出錯,所以我們在連接的時候,需要去判斷是否成功開啟連接

...繼續閱讀 »

【ASP.net MVC | SignalR】建立RealTime的網頁(SignalR)

【ASP.net MVC】建立RealTime的網頁
之前有需要一個可以承載多人並且網頁可以即時的更新變化,過去的作法很多人是用 Ajax(Asynchronous JavaScript and XML)來實現這個功能,小弟我也不例外...,但最這個方法Server要足夠的吞吐量,也需要大量的平寬,設置的成本提高許多,萬一Server吞吐量不足,就好像我們寫DDoS 的Code攻擊自己的Server,而最近(應該有一段時間了...) 看到一個比較好的方法,SignalR這個技術,就想來試試看!
SignalR的重點是在於即時性!當伺服器端(Server)有新的資料出現時,即時向用戶端(Clinet)推送訊息

...繼續閱讀 »