为了防止XSS攻击,可以采取以下解决方法:
示例代码(PHP):
$param1 = htmlspecialchars($_GET['param1']);
$param2 = htmlspecialchars($_GET['param2']);
示例代码(JavaScript):
var param1 = encodeURIComponent(document.getElementById('param1').value);
var param2 = encodeURIComponent(document.getElementById('param2').value);
示例代码(PHP):
$modelData = htmlspecialchars($modelData);
示例代码(JavaScript):
var modelData = document.getElementById('modelData').innerText;
modelData = modelData.replace(/&/g, '&').replace(//g, '>');
document.getElementById('modelData').innerText = modelData;
示例代码(ASP.NET MVC):
public class ValidateInputFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
foreach (var param in filterContext.ActionParameters)
{
if (param.Value is string)
{
filterContext.ActionParameters[param.Key] = SanitizeInput((string)param.Value);
}
}
}
private string SanitizeInput(string input)
{
// 对输入进行过滤和清理
// ...
return input;
}
}
[ValidateInputFilter]
public ActionResult MyAction(string param1, string param2)
{
// ...
}
通过采取上述措施,可以有效地防止XSS攻击,并确保用户输入的数据不会被误解为可执行的脚本。
下一篇:捕获所有触发的意图