0
[已解決] - 請參閱下面 這是一個典型問題的扭曲:'如何獲取用戶控件的HTML?' 我知道如何做到這一點,而且我一直這樣做了很多年,但最近我變得更加了解網絡安全方面的知識,並且我注意到我的字符串(又名Control HTML)正在作爲普通HTML返回到客戶端,並且它沒有編碼\逃過一劫。我知道一旦它使用javascript到達瀏覽器就可以逃脫它,但如果它來自已經逃脫的服務器,它會更安全。ASP.Net - 返回用戶控制HTML 文本作爲轉義
目前我得到的東西回客戶端,如:
returnText = "<input id='myButton' text='whatever'>"
我所尋找的是:
returnText = "<input%20id='myButton'%20text='whatever'>"
(或類似的東西)
的代碼我使用對於這些類型的呼叫非常典型。我ASCX響應編碼爲:
StringBuilder myStringBuilder = new StringBuilder();
TextWriter myTextWriter = new StringWriter(myStringBuilder);
HtmlTextWriter myWriter = new HtmlTextWriter(myTextWriter);
viewControl.RenderControl(myWriter);
strControl = myTextWriter.ToString();
而且我使用XMLHttpRequest對象調用服務器上我的控制:
function callServer(strPage,qryParms) {
if (xmlHttp != null) { xmlHttp.abort(); }
xmlHttp = null;
var retValue = "";
xmlHttp = CreateHttpRequest();
if (xmlHttp == null) {
alert("Your browser does not support Ajax HTTP Requests");
return;
}
else {
xmlHttp.open("POST", strPage, false);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = function()
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
retValue = xmlHttp.responseText;
}
}
xmlHttp.send(qryParms);
}
// retValue = htmlEncode(retValue); <--- this is where I could convert it.
return retValue;
}
我可以以某種方式攔截Response對象在渲染過程中逃脫串在它回到瀏覽器之前?
謝謝!
的可能的複製[的HTMLEncode HTMLdecode(http://stackoverflow.com/questions/2650059/htmlencode-htmldecode) – VDWWD
搜索'的HTMLEncode/HTMLdecode' – VDWWD