2012-04-12 5 views
25

Ho bisogno di accedere a un file di caratteri nella mia applicazione dal server che anch'io possiedo. Funziona per tutti i browser tranne Firefox, e so che ho bisogno di aggiungere un'intestazione 'Access-Control-Allow-Origin'.Come aggiungere un'intestazione Access-Control-Allow-Origin in IIS7 con restrizioni

Così, alla radice del mio server c'è un'altra applicazione con web.config a cui ho aggiunto:

<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
</httpProtocol> 

Funziona bene però, io non sono sicuro di quello che sono i problemi di sicurezza qui. Si sta specificando il dominio che può accedervi una buona risoluzione di sicurezza qui? Penso che preferirei avere questa impostazione solo per i file nella cartella dei caratteri e non nell'intera applicazione. Ho visto una soluzione .htaccess che richiede il posizionamento del file nella cartella desiderata, ma come posso farlo con web.config o con l'impostazione di IIS?

Apache:

<FilesMatch "\.(ttf|otf|eot|woff)$"> 
<IfModule mod_headers.c> 
Header set Access-Control-Allow-Origin "http://yourdomain.com" 
</IfModule> 
</FilesMatch> 

Grazie mille,

+0

Si noti che in alcuni casi, '' è necessario prima di dichiarare qualsiasi intestazione personalizzata. – OffTheBricks

risposta

24

Hai provato a mettere un web.config nel solo la sottocartella desiderata? Date un'occhiata a "ASP.NET Configuration File Hierarchy and Inheritance".

+2

Hmm ottima idea, non so perché non ci ho pensato prima. Grazie! –

+0

Ho visto un collegamento e l'ho fatto clic anche senza preoccuparsi di leggere il testo. Dopo mezz'ora ho scoperto che potevo inserire web.config solo nella cartella desiderata. Poi sono tornato qui e ho letto il testo. Dannazione. Lezione appresa: leggi il maledetto testo. Grazie amico – Roman