항상 허용되는 URL <alwaysAllowedUrls>
개요
<alwaysAllowedUrls>
요소에는 컬렉션의 값을 재정의 <add>
하는 필터링을 요청하는 URL을 지정하는 요소 컬렉션이 <denyUrlSequences>
포함되어 있습니다.
호환성
버전 | 참고 |
---|---|
IIS 10.0 | <alwaysAllowedUrls> 요소가 IIS 10.0에서 수정되지 않았습니다. |
IIS 8.5 | <alwaysAllowedUrls> 요소가 IIS 8.5에서 수정되지 않았습니다. |
IIS 8.0 | <alwaysAllowedUrls> 요소가 IIS 8.0에서 수정되지 않았습니다. |
IIS 7.5 | <alwaysAllowedUrls> 요소의 <requestFiltering> 요소는 IIS 7.5의 기능으로 제공됩니다. |
IIS 7.0 | <alwaysAllowedUrls> 요소의 <requestFiltering> 요소는 Microsoft 기술 자료 문서 957508(https://support.microsoft.com/kb/957508 )를 통해 제공되는 IIS 7.0에 대한 업데이트로 도입되었습니다. |
IIS 6.0 | 요소는 <alwaysAllowedUrls> URLScan 3.0에 추가된 [AlwaysAllowedUrls] 섹션과 거의 유사합니다. |
설치 프로그램
IIS 7 이상의 기본 설치에는 요청 필터링 역할 서비스 또는 기능이 포함됩니다. 요청 필터링 역할 서비스 또는 기능이 제거된 경우 다음 단계를 사용하여 다시 설치할 수 있습니다.
Windows Server 2012 또는 Windows Server 2012 R2
- 작업 표시줄에서 서버 관리자를 클릭합니다.
- 서버 관리자관리 메뉴를 클릭한 다음 역할 및 기능 추가를 클릭합니다.
- 역할 및 기능 추가 마법사에서 다음을 클릭합니다. 설치 유형을 선택하고 다음을 클릭합니다. 대상 서버를 선택하고 다음을 클릭합니다.
- 서버 역할 페이지에서 웹 서버(IIS)를 확장하고, 웹 서버를 확장하고, 보안을 확장한 다음, 필터링 요청을 선택합니다. 다음을 클릭합니다.
. - 기능 선택 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 8 또는 Windows 8.1
- 시작 화면에서 포인터를 왼쪽 아래 모서리로 이동하고 시작 단추를 마우스 오른쪽 단추로 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스를 확장하고 World Wide Web Services를 확장한 다음 보안을 확장한 다음, 요청 필터링을 선택합니다.
- 확인을 클릭합니다.
- 닫기를 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자 클릭합니다.
- 서버 관리자 계층 창에서 역할을 확장한 다음 웹 서버(IIS)를 클릭합니다.
- 웹 서버(IIS) 창에서 역할 서비스 섹션으로 스크롤한 다음 역할 서비스 추가를 클릭합니다.
- 역할 서비스 추가 마법사의 역할 서비스 선택 페이지에서 요청 필터링을 선택하고 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows Vista 또는 Windows 7
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스, World Wide Web Services, 보안을 차례로 확장합니다.
- 요청 필터링을 선택한 다음 확인을 클릭합니다.
방법
항상 URL을 허용하는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 요청 필터링 설정을 수정하려는 연결, 사이트, 애플리케이션 또는 디렉터리로 이동합니다.
홈 창에서 요청 필터링을 두 번 클릭합니다.
요청 필터링 창에서 URL 탭을 클릭한 다음 작업 창에서 URL 허용...을 클릭합니다.
URL 허용 대화 상자에서 허용할 URL을 입력한 다음 확인을 클릭합니다.
구성
<alwaysAllowedUrls>
요소의 <requestFiltering>
요소는 사이트, 애플리케이션 또는 디렉터리 수준에서 구성됩니다.
특성
없음
자식 요소
요소 | Description |
---|---|
add |
선택적 요소입니다. 요청 필터링이 항상 허용하는 URL 컬렉션에 URL을 추가합니다. |
clear |
선택적 요소입니다. 요청 필터링이 항상 허용하는 URL 컬렉션을 지웁니다. |
remove |
선택적 요소입니다. 요청 필터링이 항상 허용하는 URL 컬렉션에서 URL을 제거합니다. |
구성 샘플
다음 샘플에서는 두 개의 특정 문자 시퀀스 중 하나를 포함하는 경우 URL을 거부하는 요소와 <alwaysAllowedUrls>
요소의 조합을 <denyUrlSequences>
보여 주지만 이러한 두 특정 문자 시퀀스를 모두 특정 순서로 포함하는 특정 URL을 항상 허용합니다.
<system.webServer>
<security>
<requestFiltering>
<denyUrlSequences>
<add sequence="bad" />
<add sequence="sequence" />
</denyUrlSequences>
<alwaysAllowedUrls>
<add url="/bad_sequence.txt" />
</alwaysAllowedUrls>
</requestFiltering>
</security>
</system.webServer>
샘플 코드
다음 예제에서는 기본 웹 사이트에서 항상 허용되는 URL을 추가하는 방법을 보여 줍니다.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"alwaysAllowedUrls.[url='/_allowed_url.aspx']"
PowerShell
$alwaysAllowedUrls = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'alwaysAllowedUrls'
New-IISConfigCollectionElement -ConfigCollection $alwaysAllowedUrls -ConfigAttribute @{ 'url' = '/_allowed_url.aspx' }
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
ConfigurationElementCollection alwaysAllowedUrlsCollection = requestFilteringSection.GetCollection("alwaysAllowedUrls");
ConfigurationElement addElement = alwaysAllowedUrlsCollection.CreateElement("add");
addElement["url"] = @"/allowed_url.aspx";
alwaysAllowedUrlsCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
Dim alwaysAllowedUrlsCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("alwaysAllowedUrls")
Dim addElement As ConfigurationElement = alwaysAllowedUrlsCollection.CreateElement("add")
addElement("url") = "/allowed_url.aspx"
alwaysAllowedUrlsCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var alwaysAllowedUrlsCollection = requestFilteringSection.ChildElements.Item("alwaysAllowedUrls").Collection;
var addElement = alwaysAllowedUrlsCollection.CreateNewElement("add");
addElement.Properties.Item("url").Value = "/allowed_url.aspx";
alwaysAllowedUrlsCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set alwaysAllowedUrlsCollection = requestFilteringSection.ChildElements.Item("alwaysAllowedUrls").Collection
Set addElement = alwaysAllowedUrlsCollection.CreateNewElement("add")
addElement.Properties.Item("url").Value = "/allowed_url.aspx"
alwaysAllowedUrlsCollection.AddElement(addElement)
adminManager.CommitChanges()