Back to top

Autore Topic: nuova patch di sicurezza in .htaccess - problema conseguente  (Letto 1172 volte)

Offline sgiobbio

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Da poco tempo in Joomla è stata introdotta questa patch di sicurezza inserita in .htaccess, che agisce sulle funzionalità dei browser MIME-type sniffing :
 
 <IfModule mod_headers.c>
 Header always set X-Content-Type-Options "nosniff"
 </IfModule>
 
 Con questa "regola" le mie mappe google, che venivano "popolate" di marker e di cluster da files con estensione .json, non funzionavano più perché i files json venivano bloccati.

I file json non venivano caricati perché -diceva la console di sviluppo web- il tipo MIME (“application/json”) non è un tipo MIME JavaScript valido.
 Ho provato a richiamare i file json in altro modo:
 
 invece che type="text/javascript" ho messo  type="application/json"  e ho anche provato con type="application/octet-stream" ma continuavano a non essere caricati, e le mappe restavano vuote.
 
 Alla fine, come extrema ratio, ho modificato l'estensione dei files json facendola diventare js, e in questo modo adesso funziona tutto: i files js vengono caricati e le mappe si popolano.

Le mie domande sono 2:

- è corretto e non darà luogo ad altri problemi modificare l'estensione di un file .json in .js?
- conoscete un altro modo per non fare bloccare i files json da questa patch di sicurezza?


Offline rezor

  • Global Moderator
  • Appassionato
  • ********
  • Post: 278
  • Sesso: Maschio
  • If you think education is expensive, try ignorance
    • Mostra profilo
Re:nuova patch di sicurezza in .htaccess - problema conseguente
« Risposta #1 il: 06 Apr 2019, 20:04:06 »
1. Modificare un .json in .js non è semanticamente corretto (sono due tipi di files sostanzialmente diversi, anche se un file json è JS sintatticamente valido, altrettando non può dirsi viceversa; in questo caso ti funziona perché allo script che carica il file questo non interessa. Quindi, se vuoi scrivere un libro o usare il sito per insegnare come si fanno le cose, procedi con la risposta che segue. Altrimenti tienilo così e ignora il seguito.

2. Il problema rilevato dal tuo browser dipende dal server web, non dall'invocazione che fai del contenuto.Forse non hai impostato il tipo json nel tuo server, ad esempio se è apache e le impostazioni del tuo provider supportano questi comandi nell'.htaccess potresti cavartela aggiungendo, in un nuovo file .htaccess nella cartella dei file .js/json:
Codice: [Seleziona]
<IfModule mod_mime.c>
  AddType application/json                            json
</IfModule>
Attenzione però! Non modificare l'.htaccess principale, perché puoi "rompere" il sito.
Sii preparato a ripristinare/eliminare il file .htaccess subito, la modifica potrebbe fare altri danni, .htaccess ha una sintassi molto delicata.

Architetto e Sviluppatore Senior, ho realizzato oltre 150 siti e portali Joomla, una mezza dozzina di estensioni sul JED e oltre 100 estensioni custom. Pubblico su fasterjoomla.com, e contribuisco su stackoverflow, joomla.org e pasqualoni.it
https://www.fasterjoomla.com/logo.png

Offline sgiobbio

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:nuova patch di sicurezza in .htaccess - problema conseguente
« Risposta #2 il: 06 Apr 2019, 20:38:36 »
Grazie mille rezor per la tua risposta: qualche indicazione in più era esattamente quello che speravo di ricevere.
Dunque, fermo restando che empiricamente la modifica dell'estensione del file json in js funziona allo scopo, ho provato a seguire le tue istruzioni, perché mi piacerebbe avere del codice semanticamente corretto.
So bene che con i file .htaccess bisogna andarci con i piedi di piombo, e che il rischio di fare disastri è sempre dietro l'angolo.
Tuttavia, siccome ho già utilizzato dei file .htaccess posizionati in specifiche directories del sito (per esempio per "blindarne" l'accesso) e quindi gli .htaccess non mi "spaventano" più di tanto, ho provato a seguire le tue direttive, ma senza successo: il file json non viene caricato nemmeno in presenza del file .htaccess con il contenuto che hai suggerito, posizionato nella cartella del file che dovrebbe essere caricato.
Forse "invocando" il file json in questione bisognerebbe anche specificare un "type" differente da "text/javascript", per esempio  type="application/json"  oppure  type="application/octet-stream" ?

 



Web Design Bolzano Kreatif