我有这段代码
<script type="text/javascript">
$(function () {
var selectedAmenities = "";
function amenitiesLog(message) {
$("<div/>").text(message).appendTo("#amenitiesLog");
$("<br/>").text("").appendTo("#amenitiesLog");
$("#amenitiesLog").scrollTop(0);
selectedAmenities = document.getElementById("amenitiesLog").innerHTML;
}
$("#Amenities").autocomplete({
//source: "/Results/GetAmenities",
source: function (request, callback) {
var url = "/Results/GetAmenities?selected=" + selectedAmenities + '&term=' + request.term;
$.getJSON(url, callback);
},
minLength: 3,
select: function (event, ui) {
if (ui.item != null)
amenitiesLog(ui.item.value);
}
});
});
</script>
导致生成此URL并调用
http://localhost:63320/Results/GetAmenities?selected=%3Cdiv%3EAir%20conditioning%3C/div%3E%3Cbr%3E&term=abc
我在Firebug中遇到的错误就是这个
A potentially dangerous Request.QueryString value was detected from the client (selected="<div>Air conditionin...").
解决方案是什么?
谢谢,
萨钦
答案 0 :(得分:1)
我曾经有类似的东西,我必须声明我的无效网址字符。我在我的网络配置中这样做:
<system.web>
<httpRuntime requestValidationMode="2.0" executionTimeout="600" requestPathInvalidCharacters="<,>,*,%,\" relaxedUrlToFileSystemMapping="true" />
</system.web>
其中'requestPathInvalidCharacters'包含无效字符,所以在我的情况下,我删除了冒号,因为我在我的网址中需要这个。
这对我有用,但至于你是否需要考虑一些安全风险,我不知道。