Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Gestire le query per evitare la SQL-injection in PHP

gennaio 17th, 2011 by Giovanni Caputo

Vediamo come eliminare i caratteri speciali  che potrebbero  causare problemi nell’inserimento del database.

 
function cleanuserinput($dirty){
 if (get_magic_quotes_gpc()) {
  $clean = mysql_real_escape_string(stripslashes($dirty));
 }else{
  $clean = mysql_real_escape_string($dirty);
 }
 return $clean;
}

In questo modo potremo evitare la SQL-injection

Category: Senza categoria | No Comments »

Creare pagine di amministrazione in PHP su database Mysql

marzo 6th, 2010 by Giovanni Caputo

Mysql Ajax Table Editor è una applicazione web opensource che permette di modificare tabelle di MySQL e creare pagine di amministrazione instantaneamente sul proprio server PHP.

Oltre alle normali funzionalità di aggiunta, modifica, copia, eliminazione permette l ‘impaginazione automatica, ricerche e esportazione in CSV.

Inoltre è possibile generare viste personalizzate di tabelle su cui si è effettuato il join ed è possibile impostare dei permessi su ogni funzione, per colonna o per tabella.

Infine, permette automaticamente di nascondere/ mostrare e riordinare colonne.

Spero vi sia utile.

http://sourceforge.net/dbimage.php?id=246532

Category: Programmazione, Siti Web, Tecnologia | No Comments »

Realizzare un widget: Chi è online con PHP, jquery e Mysql

marzo 6th, 2010 by Giovanni Caputo

Vi segnalo un link interessante per tutti gli sviluppatori che stanno realizzando un sito web.

Potrebbe essere utile, soprattuto per chi sta realizzando una sorta di social network, magari utilizzando buddypress, un widget per conoscere chi è online ( chi è collegato) e mostrando da quale nazione. Se si usa buddypress bisogna creare un plugin apposito ed effettuare l’embed del codice.

LINK

Category: Programmazione | No Comments »

Sicurezza PHP e MySQL: proteggersi dalla SQL Injections

giugno 1st, 2009 by Giovanni Caputo

Vediamo alcune funzioni utili che possono essere utilizzati per proteggersi dalla SQL Injections. Questo tipo di attacco/problema è causato da alcuni caratteri speciali come apostrofi o slash che, se inseriti in una query, possono compromottere la sicurezza del database.

Vediamo, quindi, alcune funzioni PHP molto utili che preanalizzano i dati prima di effettuare una query.

add_slashes

Funzione built-in che aggiunge uno slash prima di apici, doppi apici, backslash, etc…

Per esempio se usata per la stringa O’Reilly,  la funzione, resituisce O\’Reilly. Questo però non basta per rendere una query sicura.

magic_quotes_gpc

Magic Quotes non è una funzione ma una opzione di configurazione. Questa opzione permette di aggiungere automaticamente blackslask ad ogni variabile, $_GET, $_POST e $_COOKIE,  che contiene uno dei caratteri menzionati precedentemente.

mysql_escape_string

Protegge i caratteri speciali come slash singoli o doppi, backslash, \x00, \n, \r, and \x1a.

Questa funzione è stata progettata proprio per essere utilizzata per query da eeguire su MySQL.

Category: Programmazione, Siti Web, tutorial | No Comments »

Piattaforma WAMPP da cd o usb

maggio 4th, 2009 by Giovanni Caputo

Server2Go è una soluzione WAMPP (Windows, Apache, MySQL, Php, Perl) che può girare da un drive rimovibile come un cd, dvd, penna usb o flash card.

Category: Open Source, Programmazione, Siti Web | No Comments »

Creare una propria webmail

aprile 8th, 2009 by Giovanni Caputo

Un servizio di webmail è un’applicazione, dedicata ad una piattaforma web, con la quale leggere le proprie e-mail attraverso internet.

Il lato positivo dell’uso di un webmail è che non dobbiamo installare nessun software sul nostro computer, di conseguenza non dobbiamo scaricare alcuna email. . Il lato negativo, invece, è che per poter leggere le e-mail dobbiamo per forza di cose essere collegati ad internet.

Esistono diversi servizi di webmail tra cui possiamo scegliere: Roundcube, Squirrel Mail, NOCC Webmail, NuralStorm Webmail Client, Hastymail.

Roundcube è un progetto Open Source, realizzato in PHP, MySQL e Ajax. Per installare Roundcube bisogna scaricarlo dal sito roundcube.net e uploadarlo, via FTP, sul nostro webserver. Dobbiamo avere a disposizione anche un database MySQL accessibile tramite PHPMyAdmin .

http://roundcube.net/images/screens/mail_listing.jpg

Tra i vari file che abbiamo caricato sul nostro webserver, c’è una cartella chiamata “config”. Dopo averla aperta, troviamo i file db.inc.php.dist e main.inc.php.dist e rinominiamoli, rispettivamente, come db.inc.php e main.inc.php (in sostanza, eliminiamo il .dist).

All’interno del file db.inc.php dobbiamo configurare la connessione al nostro database, in questo modo:

$rcmail_config['db_dsnw'] = ‘mysql://nomeutente:password@percorso/assoluto/a/roundcube’;

Il formato della stringa di connessione è :

mysql://<database user>:<password>@host/database_name

Se la configurazione è andata a buon fine potremo accedere al nostro Webcam Roundcube.

A questo non ci resta che modificare anche il file main.inc.php per impostare le variabili di invio e di ricezione delle e-mail. Configuriamolo in questa maniera:

$rcmail_config['default_host'] = 'sitoweb.com';

Porta usata per la connessione IMAP
$rcmail_config['default_port'] = 143;

Nome
$rcmail_config['product_name'] = 'Sito Web';
Ora possiamo liberamente accedere al nostro Roundcube all'indirizzo
http://www.sitoweb.com/roundcube

Category: Open Source, programmi, Siti Web, Tecnologia, tutorial | No Comments »

Script PHP che efettua backup automatico del proprio database

marzo 23rd, 2009 by Giovanni Caputo

PHP Backup Script

Prima di usarlo modificare file config.php. Rilasciato sotto licenza GNU GPL.

Category: Programmazione, Siti Web, Tecnologia | No Comments »

Visual DB designer per MySQL

febbraio 28th, 2009 by Giovanni Caputo

Volevo segnalare un designer di database visuale completamente opensource.

MySQL Workbench Blog
Official Workbench Download Page

DBDesigner 4 permette progettazione, modellazione e creazione di un database in un singolo ambiente.
DBDesigner 4 è sviluppato ed ottimizzato per MySQL-Database per aiutare gli utenti con un potente  tool di progettazione.

Category: Novità, Open Source, Programmazione | 1 Comment »

Dividere i Backup di MYSQL troppo grossi

febbraio 15th, 2009 by Giovanni Caputo

Vi presente BigDump, uno script che potete scaricare dal link seguente che vi permette di uplodare un file di backup di mysql in pezzi.
Infatti il problema di questi file di backup, non sta tanto nel peso in Download ma nel successivo Upload, perché, quando andremo a ricaricare il file sempre via PHPMyAdmin, diventa un po’ difficile caricare un file di backup con delle dimensioni consistenti,
Lo script che vi presento è un file PHP, che va configurato prima di essere caricato sullo spazio WEB. Gli unici parametri da configurare, riguardano i dati per la connessione al mysql. Una volta caricato il file php sul vostro spazio WEB, dovrete caricare sempre via ftp, anche il file DUMP del MySQL. Dopo averlo caricato, aprite la pagina con la schermata dello script e cliccate su Start Import in corrispondenza al file SQL che volete importare.

Category: Programmazione, Siti Web, Tecnologia | 1 Comment »

Rilasciato JAMP (ALPHA 2)

dicembre 9th, 2008 by Giovanni Caputo

http://jamp.alyx.it/templates/header_short.jpg

JAMP è il primo importante contributo della ALYX-Software Innovation alla comunità OpenSource.

JAMP(acronimo Javascript Ajax Mysql Php) è un potente e veloce framework distribuito con licenza GNU (General Public License), in esso è racchiuso un completo environment per lo sviluppo di applicazioni WEB. Creare applicazioni attraverso JAMP risulterà facile e in più offrirà tutti i vantaggi che l’ambiente WEB può riservare:

1.  Indipendenza dalla piattaforma Software ed Hardware: indipendente dal sistema operativo ma anche dalla architettura Hardware dei dispositivi.
2.  Portabilità: non sono necessarie installazioni particolari lato client perché risulta sufficiente il browser predefinito del sistema operativo in uso, inoltre tutto il codice rìsiede fisicamente lato server, facilitando enormemente le operazioni di aggiornamento, correzioni bugs ed implementazioni di nuove funzionalità.
3.  Integrabilità: le applicazioni WEB sono spesso facilmente integrabili tra di loro, questo permette di fornire all’utente/cliente delle soluzioni più complete e facilitando anche le operazioni di manutenzione come ad esempio il backup dei dati.
4.  GUI WEB: Attualmente in realizzazione ma consentirà di sviluppare le vostre applicazioni direttamente online e con pochi click.

Nell’acronimo JAMP si fa riferimento a MYSQL essendo oggi indubbiamente tra i database server open source quello più importante, in realtà la struttura di JAMP è stata pensata per supportare qualunque tipo di database relazionale e sorgente dati in generale come ad esempio LDAP, filesystem, files.

Visita http://jamp.alyx.it

Category: Curiosità, Open Source, Programmazione, Siti Web, Tecnologia | No Comments »