Guida sicurezza PHP

Con questa guida si intende fornire un contributo su alcune questioni legate alla sicurezza nello scrivere codice PHP e tecnologie correlate, riferendosi sia a semplici siti Web sia a vere e proprie applicazioni "over-HTTP", di moda e sempre in aumento in quanto a numeri ed importanza.

Le problematiche di sicurezza devono essere tenute in considerazione sin dal principio, in sede di progetto: correggere nel seguito errori fatti precedentemente potrebbe rivelarsi costosissimo. Inoltre va detto che la sicurezza spesso si scontra con l'usabilità di un programma - ciò che nessuno ammette è che, in fin dei conti, per come viene usato un sistema informatico dagli utenti, la troppa sicurezza è nemica di se stessa.. In generale (ma molto in generale), più un programma è sicuro più è restrittivo e meno è usabile. Si deve sapere con esattezza a cosa un programma dovrà servire, sin dall'inizio. È bene tenerlo a mente.
Leggi la guida

Escaping php dei comandi di sistema

escapeshellarg

escapeshellarg() è stata concepita per effettuare l'escape (o "quoting" o più semplicemente "delimitazione tra apici") di una stringa da utilizzare come argomento per un istruzione da inviare tramite shell; in pratica questa funzione non fa altro che aggiungere dei singoli apici all'inizio e alla fine di una stringa e consente di effettuare l'escape di eventuali apici singoli preesistenti, in questo modo l'utilizzatore avrà la possibilità di passare una stringa resa sicura direttamente ad un'istruzione da inviare tramite terminale. Utilizzare escapeshellarg() è molto semplice:
// $_POST['cartella'] = '/var/www/website';
$cartella = $_POST['cartella'];
system('ls -t '.escapeshellarg($cartella)); 

Nell'esempio proposto, il contenuto della variabile $cartella verrà concatenato al comando ls -t all'interno dell'istruzione dopo l'escape operato dalla funzione escapeshellarg(), in modo che esso risulti sicuro nel momento in cui viene passato a system().

escapeshellcmd

escapeshellcmd() ha invece un compito diverso, essa infatti è stata concepita per effettuare l'escape dei metacaratteri (caratteri che in una stringa rappresentano insiemi di altri caratteri o anche delle sequenze di caratteri) da un parametro utilizzabile come argomento per un'istruzione da terminale. In pratica si tratta di una funzione che effettua l'escape di qualsiasi carattere presente in una stringa che possa essere utilizzato per alterare l'esecuzione di un'istruzione introducendo comandi arbitrari.
Anche l'utilizzo di questa funzione è estremamente semplice:
// $_POST['sorgente'] = '/home/immagini_2009';
// $_POST['destinazione'] = '/home/archivo/immagini';
$sorgente = $_POST['sorgente'];
$destinazione = $_POST['destinazione'];
$i= exec(escapeshellcmd('cp -r '. $sorgente . ' ' . $destinazione'));

Nell'esempio proposto, tutti i parametri inviati tramite input dell'utente subiscono il quoting dovuto alla funzione escapeshellcmd() prima di essere passati come argomenti a exec() ed entrare quindi a far parte dell'istruzione da terminale.

Sylights! - Create your lighting diagrams

Create
We provide you with a unique tool to design and annotate your diagrams online.

Share
Submit your diagrams to the community. Show your work, discuss it, improve it!

Discover
Explore others’ work, see how creative they are. You might find some inspiration here!

Help
We’ve all been beginners. Give advice to those who are just starting out.
http://www.sylights.com/

Amarino - Android meet Arduino

Normally smartphone events are tightly coupled to your phone device itself. When your cell phone is ringing, your phone speaker plays a ringtone. When you get a new text message, your phone displays it on its screen. Wouldn't it be thrilling to make thoses phone events visible somewhere else, on your wearable, in your living room, on your robot, in your office or where ever you want it to occur? Or would you like to use your smartphone sensors, like the accelerometer, light sensor, compass or your touchscreen to control other devices? 'android meets arduino' is a toolkit, basically consisting of an Android application and an Arduino library which will help you to interface with your phone in a new dimension. You can build your own interfaces almost without any programming experience.
http://www.amarino-toolkit.net/

Incognito Mail - inviare email anonime

Incognito Mail, servizio per inviare email anonime.

Incognito Mail allows you to register at other websites without giving away your own e-mail address. Instead, create a secure, anonymous, temporary and disposable e-mail account that’ll last 60 Minutes. Enough time to receive e-mails that contain activation or download links, and to reply to e-mails that ask for confirmation.

Closure Compiler - compiler for JavaScript

What are the benefits of using Closure Compiler? 

Efficiency. The Closure Compiler reduces the size of your JavaScript files and makes them more efficient, helping your application to load faster and reducing your bandwidth needs.
 
Code checking. The Closure Compiler provides warnings for illegal JavaScript and warnings for potentially dangerous operations, helping you to produce JavaScript that is less buggy and and easier to maintain.

How do I start?
http://code.google.com/intl/it/closure/compiler/