Tempo di Lettura: 2 minuti
Ho passato la vigilia dell’Epifania ad aggiornare il mio blog dalla release di WordPress 1.2.1 alla 1.2.2. Questa versione risolve alcuni bug di sicurezza (per maggiori info vedi il Changelog):
1. problemi di Login;
2. sicurezza relativa alla combinazione PHP /IIS;
3. headers degli ultimi articoli;
4. un problema relativo al trasporto del sito:
5. problemi relativi alla codifica delle email;
Al termine dell’upgrade, mentre testavo che tutto funzionasse bene, mi accorgo di uno strano comportamento del file upload.php: ogni volta che tentavo di caricare sul server una immagine il cui nome contenesse un carattere di underscore, questo veniva eliminato. Per cui un file tipo p187_logo_mio.jpg veniva rinominato come p187logomio.jpg. Ovviamente questo comportamento mi creava non pochi problemi visto che sono solito inserire l’underscore nel nome delle mie immagini per avere un descrizione pulita del suo contenuto e del post a cui essa è associata. La sera stessa ho subito postato il quesito al forum di supporto di WordPress e dopo un paio di ore, mentre la simpatica vecchina volava in alto nei cieli col suo carico di carbone per Matt Mullenweg, mi hanno risposto. In pratica si tratta di un tentativo ‘aggressivo’ di proteggere il sito da caratteri invalidi e dagli spazi: alla riga 89 del file upload.php vi è infatti il codice incriminato:
$img1_name = preg_replace('/[^a-z0-9.]/i', '', strtolower($img1_name));
La funzione preg_replace esegue una ricerca ed una sostituzione di tutti i caratteri che non siano alfanumerici (a-z0-9) o che non siano un punto (.); per cui un carattere come l’underscore (_) verrà eliminato dal nome del file.
Questo comportamento ovviamente è anomalo: non si può, a fronte di un problema di sicurezza, dare dei limiti così vincolanti senza neanche commentare il fatto. E’ come se, per assurdo, si decidesse di togliere la funzionalità di login perché si è visto che così si ridurrebbe la possibilità che degli intrusi accedino al sito con l’account di altri!
Per risolvere il problema, secondo il suggerimento di Kafkaesqui, si potrebbero rintrodurre, nella espressione regolare di sostituzione, i caratteri non previsti (underscore, trattino e slash).
Per cui la riga 89 diverrebbe:
$img1_name = preg_replace('/[^a-z0-9_-.]/i', '', strtolower($img1_name));
bravissimo! anche io spesso mi ritrovo con immagini il cui nome contiene underscore. Perciò è un motivo in più per aspettare la 1.3 Stable piuttosto che aggiornare a 1.2.2 (evitando casini inutili)
L’aggiornamento andrebbe fatto solo per non dare la possibilità, ad eventuali malintenzionati (lamer, spammer, etc.), di poter giocare col proprio sito solo perché non si aveva voglia di aggiornare le security fix…
è un implicito consiglio a rimediare? il fatto è che se incasino tutto sono guai…
Ciao. Ho deciso di passare in wordpress, ma prima di farlo definitivamente devo capire alcuni aspetti fondamentali per la gestione del mio blog, tu mi puoi dare una mano? Vado con la domanda? :-))
TOPIC: TAG Categoria.
DOMANDA: E’ possibile visualizzare nella pagina di categoria solamente il titolo (linkato all’articolo full), data, commenti e un abstract?
Grazie
A presto
Fabio
Pingback: magazine subscription 6 Febbraio 2005
magazine subscription
love this site! check out my magazine subscriptions