SilverStripe, un cms da dimenticare
Nella mia continua ricerca e sperimentazione di vari CMS, più per curiosità che per reale necessità impellente, mi sono imbattuto in un post di novità su Edit, l’interessante blog di HTML.it. In tale post venivano segnalati due CMS basati su php (che ricadono pertanto nel mio campo di interesse al momento): qui vi voglio dire giusto due cose su uno dei cms presentati, ovvero SilverStripe, che ho avuto modo di «provare». E di eliminare disgustato nel giro di un’ora al massimo.
Installazione
Già il download mi ha lasciato perplesso: il file compresso «pesa» ben 2037 KB… penso che sia il file con la distribuzione di un cms più grande che abbia mai visto (non ne ho provati tantissimi, ma ne ho provati abbastanza). Giusto per confronto: WordPress 2.1 compresso con lo stesso algoritmo è grande 680 KB, Drupal (anch’esso compresso allo stesso modo) «pesa» 729 KB.
Vabbè, non mi faccio tanti problemi e lo scarico lo stesso, tanto lo installo in locale, non devo impazzire per mandare tutto via ftp.
Scompatto il tutto, creo il database da utilizzare con il relativo utente, e lancio lo script di installazione. Quello che mi si presenta davanti è veramente molto ben realizzato. In una sola schermata mi viene data la possibilità di configurare la connessione al database, di testarla in tempo reale, e di verificare se tutti i requisiti di installazione sono soddisfatti e, se non lo sono, quali sono i passi da compiere per risolvere i problemi.
Ma il bello di SilverStripe termina qui. Il cms ha alcune richieste che mi sembrano assurde, che danno l’impressione di una programmazione «sbadata» ad essere buoni. Una delle prime richieste che vengono fatte, senza cui non appare nemmeno la pagina di cui vi parlavo prima, è quella di attivare short_open_tag in php. short_open_tag attivo permette di utilizzare <? come «marker» di inizio del codice php, anziché il classico e leggermente più verboso <?php.
A questo punto vale la pena di citare quello che c’è scritto direttamente nel file php.ini come commento all’attivazione o disattivazione di tale opzione:
NOTE: Using short tags should be avoided when developing applications or libraries that are meant for redistribution, or deployment on PHP servers which are not under your control, because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.
Ecco, mi domando: gli faceva troppo schifo usare <?php nel codice, anziché <?? Ma vabbè, siamo sempre in una prova in locale, attiviamo l’opzione e proseguiamo, anche se non so quanti servizi di hosting «economici», a questo punto, possano installare SilverStripe (benché SilverStripe si presenti come soluzione di livello «alto», certe cose non si giustificano facilmente in ogni caso).
Password memorizzate in chiaro
Terminata l’installazione, noto che c’è qualcosa che non va con l’htaccess che è stato creato da SilverStripe stesso. In particolare, mi viene sempre ricaricata la pagina di installazione, quando punto all’indirizzo di SilverStripe. Mentre cerco una soluzione al problema, mi imbatto in questo topic sul forum di SilverStripe.
Coooosaaaa? Le password che inseriscono gli utenti che si registrano al sito sono memorizzate in chiaro nel database? Ma questo è veramente stupido! Intanto vuol dire che il webmaster può leggere tranquillamente le password inserite dall’utente, e siccome molti utenti spesso riciclano le stesse per più servizi, è anche probabile che la password inserita possa essere usata per leggere la posta presente in molti degli indirizzi email inseriti all’atto della registrazione sul sito. Ma anche se il webmaster fosse una persona onestissima e non sfruttasse in alcun modo queste informazioni, un attaccante che riuscisse ad accedere al database potrebbe ottenere le password di tutti gli utenti registrati al sito!
E dire che non è difficile
La scusa ufficiale:
One of the decisions we made was that the benefit of being able to resend people’s existing passwords seemed to outweigh the issue of trusted administrators taking advantage of their knowledge and power.
Preferisco non commentare. E dire che memorizzare in modo sicuro le password (md5 + salt) è una cavolata da realizzare, (ci sono riuscito pure io!):
// genero il salt da aggiungere alla password
$salt = mt_rand();
// concateno il salt alla password
$password = $password . $salt;
// codifico con MD5 la password «salata»
$password = md5($password);
Basta! Fatto!
Ecco cosa ci dice, alla fine, uno sviluppatore del progetto:
Any assistance you can provide with patching the system to support this would be much appreciated!
![]()
Grazie, molto gentile, proprio come il cacio sui maccheroni. Il sistema delle password va pensato subito il più sicuro possibile, non ha senso scaricare poi il lavoro su qualche volenteroso. Io non presenterei mai al «pubblico» un lavoro con un sistema di gestione delle password del genere.
Fine della prova
Scoperto questa grave carenza la mia prova si è conclusa immediatamente con la rimozione dal disco del cms, e la cancellazione del relativo database MySQL, e tanti saluti a SilverStripe. Farò un altro tentativo di trovare un cms nuovo e più bello di quelli che conosco già con MODx, sempre segnalato nel post del blog «Edit» linkato all’inizio di questo articolo. Vi farò sapere!

Rss
Commenti al post
Aggiungi il tuo
DOVREBBERO AVVERTIRE GLI UTENTI QUANDO SI USANO QUESTI CMS!!!!
e io che son rimasto ad
0
0
0
tutto va bene
Quello è l’apice della programmazione! Un codice irraggiungibile! Il faro per generazioni di programmatori!
Io a breve voglio provare Joomla ..
A livello un po’ + professionale avevo sentito che utilizzassero Zope (il prossimo sito web di Castenaso l’han fatto basandosi su quello).
Son anch’io curioso di provarli .. A breve lo farò..
Personalmente Joomla non mi piace, principalmente per la qualità dell’output che produce, ma, appunto, è una considerazione personale.
Zope + Plone sono molto potenti ed hanno un output dall’aspetto molto professionale, tuttavia sono scritti in Python, e questo al momento lo pone al di fuori del mio campo di interesse.
La mia passione rimane sempre Drupal!
Faccio notare due cose che forse ridurranno il “peso” di questa presunta prova del cms:
La richiesta dei tag abilitati serve per il sistema di template che è uno dei piu’ flessibili che ci sono in giro.
Due poter rispedire le pass è una manna dal cielo, anche se non condivido la scelta dei programmatori.
Ovviamente essendo l’unica vera pecca trovata che tra l’altro è solo una scelta di design che si cambia in 5 minuti, consigli a tutti di non fidarsi mai di queste presunte recensioni…
@daggoth: Sarà anche il sistema di template più flessibile del mondo, ma non mi sembra il caso di rinunciare per questo a pratiche di buona programmazione, per un «php» in più nel tag di apertura, poi, neanche chissà quale funzionalità avanzata!!!
La «scelta di design», come la chiami tu (io invece la chiamo grande cavolata), si potrà cambiare in 5 minuti dopo aver speso delle ore per imparare la struttura del cms e scoprire dove intervenire. Ci sono tanti file, bisogna un attimo capire dove mettere le mani, e questo richiede tempo.
Inoltre il fatto che i programmatori non abbiano dato importanza ad un aspetto di sicurezza così macroscopico (mai chiesto perché linux ha abbandonato la scrittura delle password degli utenti nel file «password», e l’abbia spostata in «shadow» con il sistema di salt?), mi fa dubitare (magari a torto, ma il dubbio è legittimo) sulla costruzione di tutto il resto del cms.
È un cms che per questi motivi (pochi ma gravi) non userei mai (come farei per altri cms con questa gestione delle password, del resto), ed è ciò che ho scritto.
Ottima giornata.
Quoto in pieno daggoth…
l’ho installato questa mattina per fare dei test e lo trovo veramente valido…. Peccato per le pwd in chiaro ma sembra un sistema ottimo.
Ti posso assicurare poi che la stragrande maggioranza degli hoster anche a basso costo permettono l’uso degli short tags.. (in molti casi è infatti abilitato di default..)
Ciao
A
Cambia font per cortesia! Ho perso 1 decimo di vista a leggere sto articolo!
@mattia: mai visto del Lucida Grande o del Verdana? Li usano il 70% dei siti Internet. Se non ti piace il Verdana (visto che sei sotto Windows), scrivi alla Microsoft.
Esiste una funzione già presente nella build per abilitare la cifratura delle password. Basta leggersi un attimo la documentazione… Diffidate di questa recensione. SS è molto valido.
Faccio presente che la recensione è stata scritta nel febbraio del 2007. Non potevo sapere che la cifratura sarebbe stata aggiunta più di un anno dopo, non possiedo la sfera di cristallo.
Si prega di pensare prima di commentare.