比如我有一個處理程序MyPage.ashx?parameter=1¶meter=2
如何從跨站點腳本清除ashx url?
如果有人添加到URL <script>alert('Test')</script>
MyPage.ashx?parameter=1¶meter=2<script>alert('Test')</script>
的JavaScript將在客戶端
執行結束反正有來自交叉乾淨網址網站腳本?
比如我有一個處理程序MyPage.ashx?parameter=1¶meter=2
如何從跨站點腳本清除ashx url?
如果有人添加到URL <script>alert('Test')</script>
MyPage.ashx?parameter=1¶meter=2<script>alert('Test')</script>
的JavaScript將在客戶端
執行結束反正有來自交叉乾淨網址網站腳本?
此外,你永遠不應該渲染請求輸入參數轉義或未經驗證返回給客戶端。
我有一個處理程序,它不適用 – 2011-06-09 15:02:36
據我所知,它是。請參閱[如何請求驗證被禁用爲httphandlers](http://stackoverflow.com/questions/1332400/how-can-request-validation-be-disabled-for-httphandlers) – Hauzi 2011-06-09 15:06:06
檢查評論。 Joseph說
由於您正在輸出原始用戶輸入,因此只會執行javascript。
如果你的ashx需要輸出參數,你必須對它們進行編碼。假設你在你的ashx頁面中創建了HTML,你需要在輸出之前輸入參數值HtmlEncode。對於特定類型有不同的編碼方法,如果沒有更多的ashx腳本細節,很難說明需要使用哪些編碼方法。
真的嗎?怎麼樣?您是否將參數2值直接粘貼到未轉義的數據中?它是HTML嗎?如果是這樣,你爲什麼要使用ashx,如果不是,爲什麼它會執行? – Rup 2011-06-09 14:53:42
是的,我傳遞參數。有什麼更好的方法來做到這一點? – 2011-06-09 14:59:47
但無論如何,它沒有關係,如果我的網址有參數或沒有。如果有人附上腳本 – 2011-06-09 15:05:15