Дефисы в пути.axd

Сегодня вечером я открыл веб-сайт для клиента с помощью веб-элементов управления Infragistics, и у нас возникла проблема, когда путь к связанным AXD-файлам содержит двойной дефис. Это приводит к тому, что клиентская брандмауэрная программа блокирует доступ к файлам, поскольку воспринимает двойной дефис как атаку SQL-инъекции.

Кто-нибудь может дать какие-то идеи относительно того, как поступить?

Благодарю.

1 ответ

Решение

Для тех, кто может столкнуться с этой проблемой: в итоге я изменил конфигурацию Infragistics ScriptManager, чтобы объединить сценарии в один большой файл сценариев по умолчанию следующим образом:

<ig:WebScriptManager runat="server" ID="igScriptManager" CompositeScript-ScriptMode="Release" CompositeScript-Path="InfragisticsCombined.js">
<CompositeScript>
<Scripts>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.0_igControlMain.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.2_igCollections.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.3_igUIBehaviors.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.4_igEnums.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.5_igObjects.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.7_igClientStateManager.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.8_igCallback.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.9_igPropertyManagers.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.1_igControlMainClientBinding.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.Scripts.6_igObjectsClientBinding.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.SharedScripts.igAnimation.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.EditorControls.WebTextEditor.js.igTextEditor.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.EditorControls.WebMonthCalendar.js.igCalendar.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebDataGrid.js.igWebDataGridBase.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebDataGrid.js.igWebDataGrid.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebDataGrid.js.igWebDataGridPaging.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebDataGrid.js.igWebDataGridSorting.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.SharedScripts.igDragDrop.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebHierarchicalDataGrid.js.igWebHierarchicalDataGrid.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.SharedScripts.igLayoutPane.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.LayoutControls.WebTab.js.igTab.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.GridControls.WebDataGrid.js.igWebDataGridSummaryRow.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Infragistics.Web.UI.SharedScripts.igDropDown.js" assembly="Infragistics4.Web.v12.1, Version=12.1.20121.2020, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/>
<asp:ScriptReference name="Common.Common.js" assembly="AjaxControlToolkit, Version=4.1.51116.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="ExtenderBase.BaseScripts.js" assembly="AjaxControlToolkit, Version=4.1.51116.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
<asp:ScriptReference name="PasswordStrength.PasswordStrengthExtenderBehavior.js" assembly="AjaxControlToolkit, Version=4.1.51116.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
</Scripts>
</CompositeScript>
</ig:WebScriptManager>

Теги ScriptReference сообщают ScriptManager, какие сценарии следует включить в объединенный файл. Параметр CompositeScript-Path дает ему непротиворечивое имя, чтобы явно избегать "опасных" символов.

Хорошую статью о том, как выяснить имена файлов javascript для включения в список, можно найти по адресу http://community.infragistics.com/aspnet/articles/understanding-script-combining.aspx.

Кроме того, я не пробовал, но при исследовании этой проблемы у меня сложилось впечатление, что подобный процесс доступен с AjaxToolkit ScriptManager после ASP.NET 3.5.

Другие вопросы по тегам