Per poter eseguire correttamente i suoi compiti, il servizio Pubblicazione sul Web (W3SVC) di Internet Information Services (IIS) non deve presentare errori I/O a livello di accesso ai file, disponibilità della memoria e connessioni di rete. Inoltre, tutti gli script utilizzati devono essere accessibili e in esecuzione e gli eventuali file in essi inclusi devono essere configurati correttamente.
Rimuovere le inclusioni annidate
Tra le possibili soluzioni delle inclusioni annidate, ci sono le seguenti:
Controllare se un file di inclusione sul lato server ha incluso se stesso.
Controllare se è stata superata la profondità massima delle inclusioni sul lato server.
Controllare se un file Server-Side Include ha incluso se stesso
Per controllare se un file Server-Side Include ha incluso se stesso:
Esaminare i file di inclusione sul lato server per verificare che nessun file abbia incluso se stesso.
Rimuovere o sostituire nel file qualsiasi istruzione #include che prevede l'inclusione di se stesso.
Controllare se è stata superata la profondità massima dei file Server-Side Include
Per controllare se è stata superata la profondità massima dei file Server-Side Include:
Esaminare i file di inclusione sul lato server per controllare che nessuno superi la profondità massima delle inclusioni sul lato server.
Rimuovere le eventuali istruzioni #include che superano la profondità massima.
Target | Microsoft.Windows.InternetInformationServices.10.0.WebServer |
Category | Alert |
Enabled | True |
Event_ID | 2221 |
Event Source | Microsoft-Windows-IIS-W3SVC-WP |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.A.server.side.include.file.has.included.itself.or.the.maximum.depth.of.server.side.includes.has.been.exceeded" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2221</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.10.0.A.server.side.include.file.has.included.itself.or.the.maximum.depth.of.server.side.includes.has.been.exceeded.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>