2011-01-08 15 views
27

ho cercato di mettere questo:come impostare intestazione HTTP X-XSS-Protection

<meta http-equiv="X-XSS-Protection" content="0"> 

nel tag <head>, ma non hanno avuto fortuna. Sto cercando di sbarazzarsi di fastidioso IE che impedisce la scirpizzazione dei siti incrociati

+3

provare a inviare come un header HTTP, forse? –

+0

Come faccio? scusa Sono nuovo per impostare le intestazioni – Aly

risposta

38

Dubito che funzionerebbe solo come meta tag. Potrebbe essere necessario comunicare al server Web di inviarlo come vera intestazione.

In PHP, lo faresti come

header("X-XSS-Protection: 0"); 

In ASP.net:

Response.AppendHeader("X-XSS-Protection","0") 

in config di Apache:

Header set X-XSS-Protection 0 

In IIS, c'è una sezione in le proprietà per intestazioni extra. Spesso ha già installato "X-Powered-By: ASP.NET"; dovresti semplicemente aggiungere "X-XSS-Protection: 0" allo stesso posto.

+1

corretto, non è supportato come intestazione HTTP. – EricLaw

+0

aggiungo questo al file .htaccess all'interno della directory principale del mio sito? – Aly

+0

Se si desidera applicare a tutto il sito, sì. – cHao

2

In alcuni casi, se si utilizza .htaccess, è necessario utilizzare le virgolette doppie:

Header set x-xss-protection "1; mode=block"

1

In Apache, è necessario modificare il file di configurazione, il file potrebbe essere:

/etc/apache2/apache2.conf

/etc/apache2/httpd.conf

Nel file è possibile aggiungere queste righe alla fine per abilitare HTTP Header XSS di protezione:

<IfModule mod_headers.c> 
    Header set X-XSS-Protection: "1; mode=block" 
</IfModule> 

Nota: se mod_headers è esterno al nucleo principale di Apache (non compilati in Apache) allora si userebbe .so piuttosto che .c - es. <IfModule mod_headers.so>

Dopo di che, salvare le modifiche e riavviare apache con:

servizio sudo apache2 restart

o

servizio sudo httpd restart

Spero che questo aiuti! :)

+0

So che è stato tanto tempo fa ma l'ho trovato mentre cercavo qualcosa e non penso che tu abbia messo il '' 'dopo' Protection' se lo stai inserendo in un file .htaccess, vero? –

12

Se si sta utilizzando .Net MVC è possibile configurarlo tramite CustomHeaders in Web.Config.

Per aggiungere queste intestazioni, andare al httpProtocol nodo e aggiungere tali intestazioni all'interno delle customHeaders nodo.

<httpprotocol> 
    <customheaders> 
     <remove name="X-Powered-By"> 
      <add name="X-XSS-Protection" value="1; mode=block"></add> 
     </remove> 
    </customheaders> 
</httpprotocol> 

Consiglio vivamente questo link che spiegano come si può si può configurare Sicuro intestazioni di risposta IIS in ASP.NET MVC: http://insiderattack.blogspot.com/2014/04/configuring-secure-iis-response-headers.html

+3

la chiusura del tag era sbagliata è necessario inserire queste due righe all'interno del tag customheaders ' ' –

+0

La chiusura del tag @shadyshrif va bene sul codice. Guarda: – Equiman

+0

@ mahmoud-samy per favore smetti di modificare questa risposta in modo errato. Auto close tag non è la soluzione, chiudi rimuovi tag prima di aggiungere ed è sbagliato. Si prega di dare un'occhiata al link che ho postato. Hai testato la soluzione che stai cercando di modificare ?. – Equiman

2

In ASP Classic, questo tag lo farà:

<% Response.AddHeader "X-XSS-Protection", "1" %> 
0
# Turn on IE8-IE9 XSS prevention tools 
Header set X-XSS-Protection "1; mode=block" 

Questa intestazione è esclusiva di Internet Explorer 8 e 9, attiva la protezione di cross site scripting in IE 8 e IE 9 che è tur per impostazione predefinita in quanto potrebbe potenzialmente rompere alcuni siti Web. Per attivare il filtro XSS, utilizzare l'intestazione X-XSS-Protection "1; mode = block". Se desideri impedire l'attivazione di questo filtro per il tuo sito web, imposta le intestazioni su "0";

http://stopmalvertising.com/security/securing-your-website-with-.htaccess/.htaccess-http-headers.html