0

我有这个代码

<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=&quot;&lt;div&gt;Air conditionin...&quot;).

解决办法是什么?

谢谢,

萨钦

4

1 回答 1

1

我曾经遇到过类似的事情,我不得不声明我的无效 URL 字符是什么。我在我的网络配置中这样做了:

<system.web>
    <httpRuntime requestValidationMode="2.0" executionTimeout="600" requestPathInvalidCharacters="&lt;,&gt;,*,%,\" relaxedUrlToFileSystemMapping="true" />
</system.web>

其中 'requestPathInvalidCharacters' 包含无效字符,所以在我的情况下,我删除了冒号,因为我需要在我的 URL 中使用它。

这对我有用,但至于这里是否存在一些您需要考虑的安全风险,我不知道。

于 2012-09-03T16:10:07.140 回答