Ultimi commenti
- redsend su Convertire file audio AMR in MP3
- antonio su Apache: nomi file tagliati
- redsend su Il processo creativo delle meraviglie apple
- KOAGNE su Convertire file audio AMR in MP3
- raphe su Il processo creativo delle meraviglie apple
- Enrico su Comportamento anomalo in Safari con tag IMG
- marquise su Comportamento anomalo in Safari con tag IMG
- dalila su Recuperare password hotmail
Tags Cloud
20th
FEB
Comportamento anomalo in Safari con tag IMG
Posted by redsend | Filed under BugFix
Oggi ho passato più di 6 ore per correggere un bug.
Scrivo questo post per aiutare quei poveri programmatori che si troveranno nella mia stessa situazione. Brevemente spiegherò i sintomi che venivano rilevati nell’applicazione web e poi vi illustrerò da cosa dipendeva il problema e come viene risolto.
I sintomi che si presentavano era un azzeramento anomalo della sessione, venivano resettate alcune variabili in sessione e rigenerati alcuni codici di controllo che quindi compromettevano il flusso tra le pagine web dell’applicazione. I cookie erano impostati correttamente e con durata infinita, quindi non poteva essere un problema di scadenza dei cookie. I file della sessione erano scrivibili e venivano correttamente aggiornati in altri casi e quindi non poteva essere un problema di permessi sui file della sessione, altrimenti l’errore si sarebbe presentato a monte. L’errore accadeva solo utilizzando Safari e con Firefox questo non accadeva, il che complicava ancora di più le cose perché trattandosi di sessioni PHP e quindi di script che vengono eseguiti lato server non aveva alcun senso che su un browser funzionasse mentre sull’altro no.
L’errore che era stato commesso era un tag immagine con l’attributo src uguale a stringa vuota (src=”" per intenderci).
In questo caso Firefox semplicemente eliminava l’immagine dal flusso HTML e quindi non accadeva nulla di strano, mentre Safari, il buono e caro Safari (sto cercando di trattenermi dal rompere tutto), cosa fà? Suppone che per qualche arcano motivo l’immagine inserita senza path si trovi nell’indirizzo della pagina php invocata e quindi effettua un secondo chiamata alla pagina che compromette tutto il funzionamento della sessione PHP e del flusso che stavano seguendo le pagine.
Per farmi capire meglio la pagina chiamata ad esempio era index.php e Safari trovando un tang IMG con src=”" sostituisce all’indirizzo dell’immagine index.php, quindi otteniamo una cosa del genere: src=”index.php”, in che corrisponde ad una seconda invocazione della pagina index.php che potrebbe, come nel mio caso, compromettere il flusso che si stava seguendo attraverso form etc… questo perché, ad esempio, nell’invocazione di index.php senza nessun parametro e sottomissione di form, veniva esegueto l’azzeramento della sessione…
Bhè ottimo lavoro da parte di quelli di Safari per questa emerita scelta progettuale… e spero di aver risparmiato tante ore di debug ad altri poveri programmatori che si troveranno in questa situazione.
Tags: bug > html > img > php > safari17th
FEB
Sessioni php e frame in Internet Explorer
Posted by raphe | Filed under Programming
Se per qualche motivo vi trovate ad utilizzare dei frame (mi auguro di no) nel vostro software e caricare una pagina proveniente da un diverso server, potreste incappare in problemi legati alle sessioni con Internet Explorer (brr).
Il problema è dovuto al fatto che IE, con il livello di sicurezza settato su “medio”, se riconosce che nella pagina stanno avvenendo caricamenti di pagine esterne, impedisce a queste ultime di settare dei cookies…e addio alle sessioni-
Dopo avere perso mezza giornata ho trovato questo vecchio post del 2005 che mi ha salvato. Il problema può essere risolto o aggiungendo il dominio in questione tra quelli “fidati” di IE oppure inviare un particolare header tramite php che faccia risultare la pagina come fidata. Quindi basta aggiungere
header(‘P3P: CP=”CAO PSA OUR”‘);
All’inizio del vostro script e il problema è risolto.
Voglio cogliere l’occasione per ribadire quanto mi faccia schifo IE, come sia un browser progettato e realizzato male e vada contro ogni standard. Inoltre è la nemesi di ogni buon sviluppatore perché induce ad usare workaround e a sporcare il proprio codice.
Tags: frame > ie > internet explorer > php > Programming > sessioni8th
NOV
Continuare ad usare l’ambiente PHP di Aptana
Posted by raphe | Filed under Programmi
Piccola introduzione
Chi è utilizzatore dell’ottimo IDE Aptana Studio avrà sicuramente seguito le vicende degli ultimi giorni, durante i quali Aptana ha annunciato il rilascio della release 2.0 che ha scatenato un putiferio da parte dei suoi utenti. Perché?
Perché Aptana aveva il miglior ambiente php in circolazione, funzionalità che nemmeno prodotti a pagamento – come Zend Studio o Dreamweaver – possedevano. Una quantità di plugin e componenti per avere in un solo programma tutto ciò che era necessario per sviluppare in php. Dalla versione 2.0 è stato eliminato questo supporto a php “sostituendolo” con l’ambiente PDT che nel settore non è considerato proprio il top! Quelli di Aptana si sono giustificati dicendo che PDT riscuote maggior successo e gode di maggiore notorietà nella comunità PHP e quindi preferivano unire gli sforzi a quelli del team PDT per migliorarlo. La verità, emersa poi dalle numerose discussioni sul forum, è che il team Aptana ha preferito spostare gli sforzi sull’ambiente ruby on rails con la giustificazione che questo linguaggio sta crescendo di popolarità in maniera esponenziale e che nel settore non esiste ancora un ambiente di sviluppo di buona qualità.
Il problema
Cosa succede quindi agli utenti di Aptana che utilizzavano il vecchio ambiente di aptana 1.5 e che non vogliono vedersi sottrarre il miglior IDE in circolazione aggiornando alla nuova versione? Succede che si devono tenere la versione 1.5 oppure passare a PDT (brrrrr) oppure…
La soluzione
…oppure utilizzare questo workaround: usare eclipse come ambiente di base, aggiungervi le funzionalità di aptana 1.5 e permettere gli aggiornamenti alla 2.0 (senza portarsi dietro PDT e perdere l’ambiente php interno).
Come si può ottenere ciò? Seguendo questi semplici passi:
- Innanzitutto scaricate eclipse in versione “Platform runtime binary” che è quella base contenente solo il core;
- dopo averlo installato portatevi in window>preferences>install/update>”available software site” e aggiungete il repository http://update.aptana.com/install/studio;
- a questo punto portatevi in help>”install new software”, installate “Aptana 1.5.1″ e riavviate eclipse;
- al riavvio, dalla schermata che vi si presenta, installate “Aptana PHP” e riavviate di nuovo eclipse;
- con la stessa procedura del punto 2 aggiungete questo repository: http://download.aptana.org/tools/studio/plugin/install/studio;
- ora portatevi in help>”check for new update” e aggiornate Aptana alla versione 2.0 (oltre a tutti gli altri aggiornamenti proposti).
In questo modo avrete l’ambiente php di Aptana 1.5 ma potrete disporre di tutti gli aggiornamenti di Aptana 2.0 tra cui il nuovissimo metodo di gestire le cartelle e le fantastiche connections che troverete presto indispensabili (a dimostrazione che quelli di Aptana “ne sanno”).
Ovviamente installando il tutto in questo modo dovrete installare qualche altro componente (supporto ai framework ajax, il plugin per l’svn, ecc.) e lavorare un minimo di configurazione per riportare il tutto come il “vecchio Aptana”, ma se eravate già utenti affezionati saprete come fare.
P.S.: ho notato, e non sono il solo, che eclipse configurato in questo modo è più veloce di Aptana Studio stand alone. Tanto di guadagnato


