string message = CommonFunctions.SanitiseInput(context.Request.QueryString["msg"]);
Run Code Online (Sandbox Code Playgroud)
功能定义为:
// Sanitise input
public static string SanitiseInput(string inputText)
{
string cleanedString = inputText;
cleanedString.Replace("<","<"); // No code
cleanedString.Replace(">", ">");
cleanedString.Replace("&", "&"); // No query string breaks
return cleanedString;
}
Run Code Online (Sandbox Code Playgroud)
给定输入,"<b>rg</b>"返回相同,而不是"<b>rg</b>"
ReplaceC#中的函数不会修改字符串本身 - 它返回字符串的修改版本.
试试这个:
public static string SanitiseInput(string inputText)
{
string cleanedString = inputText;
cleanedString = cleanedString.Replace("<","<"); // No code
cleanedString = cleanedString.Replace(">", ">");
cleanedString = cleanedString.Replace("&", "&"); // No query string breaks
return cleanedString;
}
Run Code Online (Sandbox Code Playgroud)
因为"<b>rg</b>"这会给你"&lt;b&gt;rg&lt;/b&gt;".要修复不必要的转换"&",请将第三个替换移到另外两个之前,这将为您提供您期望的结果.
| 归档时间: |
|
| 查看次数: |
2757 次 |
| 最近记录: |