Articoli, news e pillole sul mondo LAMP e l'opensource. Pillole di C#
PHP il turbo nel web
Articoli, notizie e pillole riguardanti il mondo del linguaggio PHP, un linguaggio di programmazione che in ambito web non ha paura di nessun altro linguaggio
Potenziale SQL Injection con AdoDB e driver mysqli
29 Dec
[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.
Ricerca due consulenti PHP Senior
17 Jun
Coresis, società presso la quale lavoro sta ricercando nell’ambito di un progetto della durata stimata di 6 mesi, due programmatori php senior che si recheranno presso un importante cliente di Milano.
Si richiedono le seguenti competenze:
- Esperienza di almeno 4 anni in ambito php/MySQL
- Ottima conoscenza di php
- Ottima conoscenza di mysql
- Gradita conoscenza del framework di sviluppo symfony: http://www.symfony-project.org/
- Buona capacità di lavorare in team e buona capacità di proporsi in modo attivo
Per le persone interessate si prega di inviare CV e disponibilità all’indirizzo email:
Convertire un database PostgreSQL in MySQL e viceversa
10 May
La conversione di un database PostgreSQL in mysql e viceversa non è un’operazione esattamente banale.
Nel senso che a differenza della conversione da SQL Server a mysql o da Access ad esempio, per i quali esiste il tool realizzato direttamente da mysql, mysql Migration Toolkit, per PostgreSQL questo software non ci aiuta.
Durante la ricerca di qualcosa di ben funzionante mi sono imbattuto in:
DB Convert for mysql and PostgreSQL 2.0.x
Questo software consente in modalità trial di importare solo 10 record per tabella. E’ sufficiente nel caso sia necessario solo ripristinare la struttura, nel caso import di dati invece risulta insufficiente.
Per poter disporre delle funzionalità complete è sufficiente acquistarlo ad una cifra ragionevole di 69 dollari.
Il software dopo l’installazione consente una comoda migrazione di tutto quanto. La migrazione può essere bidirezionale.
La stessa software house propone altri tool come il sync.
Sono disponibili inoltre migrazioni da svariati altri database.
Per maggiori informazioni: http://www.dbconvert.com
Guida in italiano a Drupal
28 Apr
Pubblico con piacere la guida a Drupal in italiano ad opera di Tiziana Ratano e promossa da una società che conosco bene, la Kiwiage.
Buona lettura e complimenti ai Kiwi e a Tiziana!
Tuxjournal, lezioni di PHP
20 Feb
Tuxjournal sta pubblicando diverse lezioni di php in lingua italiana.
Mi sembra doveroso segnalarlo.
La prima lezione la potete trovare qui: http://www.tuxjournal.net/?p=2059
Partendo dall’introduzione sono state pubblicate svariati altri capitoli che si stanno ampliando man mano.
Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com