1. Blocco dei download da una specifica directory con IIS Rewrite
E' possibile bloccare l'accesso a una specifica directory, creando un file web.config nella directory principale dell'hosting con una regola apposita di IIS Rewrite.
Riportiamo in grassetto le righe da inserire per bloccare l'accesso ai contenuti a una directory /tempfolder.
In grassetto le sole righe relative al modulo IIS Rewrite.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="system.webServer">
<sectionGroup name="rewrite">
<section name="rewriteMaps" overrideModeDefault="Allow" />
<section name="rules" overrideModeDefault="Allow" />
</sectionGroup>
</sectionGroup>
</configSections>
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
<rewrite>
<rules>
<rule name="Block web access to the folder tempfolder" stopProcessing="true">
<match url="^tempfolder/.*" />
<action type="AbortRequest" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
2. Esempio di utilizzo insieme alla regola di riscrittura degli indirizzi di WordPress
Riportiamo di seguito un esempio di quanto descritto applicato l'installazione di WordPress con directory temporanea posizionata in /wp-content/tmp
File Web.config con le sole impostazioni per il blocco dei download da /wp-config/tmp insieme alla regola predefinita per la riscrittura degli indirizzi di WordPress (In grassetto le sole righe relative al modulo IIS rewrite):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="system.webServer">
<sectionGroup name="rewrite">
<section name="rewriteMaps" overrideModeDefault="Allow" />
<section name="rules" overrideModeDefault="Allow" />
</sectionGroup>
</sectionGroup>
</configSections>
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
<rewrite>
<rules>
<rule name="Block web access to tmp folder" stopProcessing="true">
<match url="^wp-content/tmp/.*" />
<action type="AbortRequest" />
</rule>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Nel caso sia già presente un file Web.config personalizzato sull'hosting sono indicate in grassetto le parti da aggiungere al file esistente.
Scarica il file Web.config di esempio per WordPress
|