Linux, PHP, MySQL, Windows, C#

Articoli, news e pillole sul mondo LAMP e l'opensource. Pillole di C#

Follow me on TwitterFeed RSS

  • Home
  • About Me
  • Contacts
  • Migliori Articoli

Transazioni con Zend Framework

26 Mar

Pubblicato da maxgrante in MySQL, DB Server

Nessun commento

Recentemente avendo sviluppato nelle ore serali un progetto web ( www.animalhelp-spb.com ) per supportare e cercare di far trovare casa a cani e gatti randagi russi, ho deciso di realizzarlo iniziando a farmi le ossa con Zend Framework.

Premetto che devo ancora dettagliare ed approfondire la conoscenza di questo strumento, in particolare nell’utilizzo secondo la logica MVC (model – viewer – controller), però l’ho trovato molto interessante, in particolare per la gestione delle transazioni.

In sostanza prima di tutto istanzio la classe corretta parametrizzando gli accessi al database:

$dbparams = array(‘host’ => DB_HOST, ‘username’ => DB_USER, ‘password’ => DB_PWD, ‘dbname’ => DB_NAME);
$db = new Zend_Db_Adapter_Mysqli($dbparams);
$db->setFetchMode(Zend_Db::FETCH_OBJ);

Successivamente apro la transazione:

$db->beginTransaction();
try
{
…. query 1 ….
…. query 2 ….

$db->commit();
}
catch (Exception $e)
{
$db->rollBack();
….
}

In sostanza nel caso vi sia un errore all’interno della transazione viene automaticamente rollbackato secondo una modalità simile a quella usata da adodb “Smart Transaction”.

PHP il turbo nel web, transazioni mysql, zend framework

Apache mod rewrite cheat sheet

22 Mar

Pubblicato da maxgrante in Apache, Webserver

Nessun commento

Segnalo un ottimo articolo su mod rewrite di Apache:

http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/

apache, apache mod rewrite, web server

EZPA password recovery

23 Jan

Pubblicato da maxgrante in Opensource World

Nessun commento

Piccolo e rapido howto per fare recovery di password di EZPA nel caso si perdano per qualche motivo gli accessi.

Entrare nella console di mysql, selezionare il DB di EZPA.
Successivamente eseguire:

SELECT * FROM ezusers;

Prendere una login qualunque ad alti privilegi ed eseguire la query:

update ezuser set login = ‘mialogin’, password_hash_type = 4, password_hash = PASSWORD(‘nuovapwd’) WHERE contentobject_id = $id;

In pratica l’hash type 4 per EZPA è quello relativo alla codifica delle password standard di mysql e nella query di login viene inserito come alternativa nel caso non ci sia match con il password hash type configurato e quello a livello utente e password.

Una volta entrati si sistemano eventuali altri utenti fuori uso…

ezpa, ezpa password recovery

Potenziale SQL Injection con AdoDB e driver mysqli

29 Dec

Pubblicato da maxgrante in Apache, Webserver

2 commenti

[SEGNALO CHE HO SCOPERTO QUESTA COSA DA POCO E LIMITANDOMI AD ALCUNI TEST E PROVE VELOCI MA REALI, PERCUI OGNI EVENTUALE APPROFONDIMENTO/SMENTITA ETC... E' BEN ACCETTO]

Segnalo una problematica di sicurezza abbastanza importante per coloro che utilizzano adodb utilizzando il driver mysqli (le nuove funzioni di connessione con mysql native in php 5).

In sostanza le nuove funzioni mysqli consentono mediante la seguente funzione: mysqli_multi_query di poter eseguire più statement SQL in mysql come ad esempio:

SELECT * FROM TBL1 WHERE id = 1; DROP table TBL2;

Questa query utilizzando le vecchie librerie mysql (es. mysql_connect) dava errore.
La possibilità di eseguire più query SQL è supportata su mysql 5.0.x anche da command line, non saprei se anche vecchie versioni lo consentivano.

Questo significa che se per esempio utilizziamo in php una query del tipo:

$sql = “SELECT * FROM tbl1 WHERE id = $_GET['id']“; // (Premesso che venga come minimo fatto l’escape dei caratteri come ‘ o “)

Possiamo rischiare che qualche burlone passi in GET il seguente valore:
“1; DROP TABLE tbl2;”
Il che comporterebbe che l’SQL eseguito sia:

SELECT * FROM TBL1; DROP table TBL2;

Di fatto quindi con AdoDB con driver mysqli, la seconda query viene effettivamente eseguita.

Diventa quindi essenziale fare un controllo sull’input dell’utente per $_GET['id']. Ad esempio verificando che sia un numero intero.

La soluzione più rapida è quella di cambiare la connect di AdoDB dicendogli di usare il driver mysql anziché mysqli, la soluzione migliore e da fare comunque resta in ogni caso il filtraggio di tutti i dati in input.

adodb, adodb mysqli, mysql, mysqli, sql injection

MySQL 5.1 GA, attenzione a possibili bug fatali

3 Dec

Pubblicato da maxgrante in MySQL, DB Server

Nessun commento

Di seguito l’articolo in italiano di Punto Informatico:

http://punto-informatico.it/2494271/PI/News/mysql-51-una-falsa-partenza.aspx

E qui l’articolo ufficiale in lingua inglese di Michael Widenius ex CTO della mysql AB acquistata tempo fa da SUN.

http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html

Io per adesso rimango sul 5.0 sul quale onestamente ho avuto pochi problemi.

bug mysql, mysql, mysql 5.1
«12345»1020...Ultima »
    • Commenti recenti
    • Più popolari
    • Archivio
    • Tag
    • Categorie
    • Asp.Net (4)
      • Linq (3)
      • MVC (1)
    • Mondo informatica (47)
      • Mondo JAVA (6)
    • Opensource World (88)
      • Apache, Webserver (25)
      • Linux, Opensource (26)
      • MySQL, DB Server (27)
      • PHP il turbo nel web (49)
    aggiornamento software decoder apache automatizzazione processi blog c# captcha captcha wordpress cirillico compressione compressione pagine consulenza php conversione database corso php csharp database db server dns drupal guida a drupal iis lezioni php linux migrazione postgresql mysql mod_deflate mysql netcraft stats opendns PHP il turbo nel web PHP il turbo nel web php senior postgresql problema audio sky problemi caratteri risparmio banda server web sito lento sky symfony tiziana ratano trigger tuxjournal utf8 web server wordpress 2.5 zend server
    • June 2010 (2)
    • May 2010 (2)
    • April 2010 (1)
    • February 2010 (3)
    • October 2009 (1)
    • June 2009 (1)
    • March 2009 (2)
    • January 2009 (1)
    • December 2008 (2)
    • October 2008 (2)
    • September 2008 (2)
    • August 2008 (1)
    • July 2008 (2)
    • June 2008 (1)
    • May 2008 (1)
    • April 2008 (3)
    • March 2008 (1)
    • February 2008 (2)
    • January 2008 (2)
    • December 2007 (3)
    • November 2007 (2)
    • October 2007 (3)
    • August 2007 (5)
    • July 2007 (3)
    • June 2007 (4)
    • May 2007 (4)
    • April 2007 (2)
    • March 2007 (3)
    • February 2007 (4)
    • January 2007 (2)
    • December 2006 (1)
    • November 2006 (3)
    • October 2006 (6)
    • September 2006 (4)
    • August 2006 (1)
    • July 2006 (1)
    • June 2006 (2)
    • May 2006 (2)
    • April 2006 (7)
    • March 2006 (5)
    • February 2006 (3)
    • January 2006 (7)
    • December 2005 (1)
    • Esportazione da PHP in formato Excel (26)
    • Preventivo indicativo costi www.italia.it (24)
    • Soluzione problemi codifica caratteri in MySQL/PHP (18)
    • Sviluppo siti internet con mod_rewrite di Apache (parte 1 – siti monolingua) (12)
    • Ma non è Linux il SO dei comunisti? (12)
    • Capodanno in extreme administration (11)
    • Aggiornamento Italia.it (11)
    • Recensione portale per il turismo, www.italia.it (11)
    • Rimuovere caratteri “sporchi” da una stringa in PHP (11)
    • Guida alla Certificazione Zend di PHP (10)
    • Francesco Grasso: grazie anche da parte mia. hai aiutato anche me :)
    • maxgrante: Ciao Vincenzo, in che senso in formato orizzontale? Excel di fatto non è né orizzontale né...
    • Vincenzo: Salve, ho provato lo script e funziona alla grande, ma se quando esporto in formato excel volessi...
    • maxgrante: Ciao, nemmeno a farlo apposta da quando uso il decoder HD va tutto benone, sia quando vado via HDMI...
    • Ciccio: Ciao, ho attivato SKYHD da qualche settimana ed ho riscontrato proprio questo problema. Dopo un pò...
    • maxgrante: Ciao Paolo, il problema è legato a come gestisce excel quelle colonne ovvero convertendole in...
    • Paolo: Ciao a tutti, volevo sapere perchè adottando questa soluzione il file di XLS generato rimuove...
    • maxgrante: @milejo Scusa ma non ho capito bene, intendi come salvare il file su file system? Oppure come...
  • Ultimi tweet

    Caricamento tweet...
    Seguimi su Twitter!
  • Nome utente






    • Registrati
    • Hai perso la password?
  • Blogroll

    • Animal Help
    • Azienda Condominio
    • Comitato Parcheggio Arcore
    • Openskills
    • Portale Azienda Conodminio
    • Zio Budda
Tema Mystique realizzato da digitalnature | Traduzione PaRRoT | Powered by WordPress
Feed RSS XHTML 1.1 Top