Esiste una modalità attivabile nella configurazione dei webserver con PHP che si chiama "Safe Mode".
E' stata pensata per gli amministratori dei server che vendono hosting per aumentarne la sicurezza.
Una delle possibilità che viene sempre attivata dai sysadmin è la limitazione dell' accesso sul filesystem alla sola document root.
E' una cosa ottima: in questo modo nessun cliente potrà accedere via php ai file degli altri siti ospitati sullo stesso server.
E fin qui va bene.
Ma alcuni sysadmin molto "paranoici" attivano TUTTE le opzioni del Safe Mode di php, spesso senza cognizione di causa...
Una delle conseguenze è che risulta impossibile, su questi server, utilizzare dir create via php: una volta creata, php non ti permette di scriverci dentro, creare file o altre dir, anche se è all'interno della propria document root.
(molti utenti di PS si sono scontrati con questa limitazione creando un nuovo utente...)
Trovo questa impostazione "di sicurezza" abbastanza stupida: se sono libero di fare quello che voglio nel mio spazio web, perchè non devo poterlo fare via php?
Una delle soluzioni (quella ovvia, secondo molti sviluppatori) è usare un DB, il classico MySql.
Ma così facendo si restringe il campo di utilizzo di PS: come requisito si aggiunge, oltre a Linux, PHP e Perl, anche MySql.
Non mi piace...
Sto adottando una soluzione un pò "contorta" ma sicuramente funzionante.
Sto spostando parte della logica PHP negli script Perl (dove il safe mode non esiste ) tramite un meccanismo di RPC, ossia Remote Procedure Call.
Svantaggi:
1. amministrazione "leggermente" più lenta
2. codice + complicato
3. ulteriore ritardo del "rilascio" della v.2
Vantaggi:
1. il "core" cgi è indipendente dalla parte php, anche per l'amministrazione
2. si può amministrare l'utenza "da remoto" ossia dal futuro PicoIcy o da un altro sito
3. l'integrazione con portali tipo PHPNuke et similia sarà semplicissima (relativamente)
4. l'aggiunta di funzioni sarà fulminea: basterà aggiornare esclusivamente il file librpc.X.X.pl
Visto che ci sono, volevo sparare un pò di "numeri":
- tra tutte le versioni e le fonti, PS è stato scaricato 1507 volte
- Freshmeat lo classifica con una Pop dello 0.60% al 8091 esimo posto (su TUTTI i progetti)
- ci sono 2792 installazioni (funzionanti e non) della 1.3.1
- ci sono 131 users sicuramente funzionanti della 2.0 beta (non distribuita su Freshmeat)