Caputo's blog

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

Controllare che un file php sia utilizzato solo tramite include

settembre 26th, 2011 by Giovanni Caputo

Se volete che il vostro file php sia utilizzato solo tramite include/require da un ‘altro file e che non possa essere richiamato da URL è possibile utilizzare la seguente riga di codice:

if(count(get_included_files()) ==1) exit("Direct access not permitted.");

Category: Programmazione | No Comments »

Decriptare una stringa MD5

settembre 19th, 2011 by Giovanni Caputo

Ho trovato il seguente codice che cerca di decriptare una stringa MD5. La solita codifica che viene utilizzata per salvare le password degli utenti sul database. Funzionerà??

$chaine_car="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$car=str_split($chaine_car);
$nb_car=count($car);
$car[$nb_car]="";
$c1=$c2=$c3=$c4=0;
$trouve=0;
$motorigine="mot";
$mothashe=md5($motorigine);
$avantfor=time();
for($i=0;$i<1000000000000000;$i++){
$cherche=$car[$c1].$car[$c2].$car[$c3].$car[$c4];
$cherchemd=md5($cherche);
if($cherchemd==$mothashe){ $trouve=1; echo"Trouvé ! : $cherche ($mothashe : $motorigine) @ $i"; }
//else{ echo "$cherche : NON ! ----"; }
$c4++;
if($c4==$nb_car){ $c3++; $c4=0; }
if($c3==$nb_car){ $c2++; $c3=0; }
if($c2==$nb_car){ $c1++; $c2=0; }
if($c1==$nb_car or $trouve==1){ $i=1000000000000000000000; echo" ...FIN";}
}
$apresfor=time();
$duree=$apresfor-$avantfor;
echo("

$duree secondes !");
?>

Category: Programmazione | No Comments »

Log di errori PHP con .htaccess

settembre 16th, 2011 by Giovanni Caputo

Conoscere gli errori che si verificano all’interno della vostra applicazione web è molto importante ma farlo conoscere agli altri è molto rischioso.
In questo tutorial vedremo come disabilitare gli errori “a video” e come salvarli all’interno di un file log utilizzando .htaccess.

 
# display no errs to user
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /location/to/php_error.log

Category: Programmazione | No Comments »

Script che simula il muro di Facebook

maggio 21st, 2011 by Giovanni Caputo

Vi proprongo il link per scaricare il codice che simula il muro di facebook.
Potreto utilizzarlo per i vostri progetti che permettono di gestire commenti degli utenti.
Lo script contiente 3 cartelle:

includes
functions.php
db.php // connessioni al database
js
wall.js
jquery.oembed.js
jquery.min.js // 1.4.2 version
css
wall.css
//Files
index.php, load_messages.php, load_comments.php, message_ajax.php,comment_ajax.php, delete_message_ajax.php, delete_comment_ajax.php
Il database coniente 3 tabelle: users, messages and comments.
Users Database Design
Potrete continuare a leggere il tutorial e le istruzioni (in inglese):
http://www.9lessons.info/2011/05/facebook-wall-script-with-php-and.html

Category: Programmazione | No Comments »

Immagini in bianco e nero con PHP

novembre 25th, 2010 by Giovanni Caputo

In questo tutorial PHP imparete come creare immagini in scala di grigi utilizzando le librerie GD.

 
< ?php
header("Content-type: image/png");
 
$original = @imagecreatefrompng("tua_immagine.png")
    or die("Cannot Initialize new GD image stream");
 
$im = @imagecreate(imagesx($original), imagesy($original))
    or die("Cannot Initialize new GD image stream");
 
for ($i = 0; $i <= 255; $i++) {
    $palette[$i] = imagecolorallocate($im, $i, $i, $i);
}
 
function grayscale($r, $g, $b) {
    return 0.199*$r + 0.587*$g + 0.114*$b;
}
 
for($x = 0; $x < imagesx($original); $x++) {
    for($y = 0; $y < imagesy($original); $y++) {
        $rgb = imagecolorat($original, $x, $y);
        $r = ($rgb >> 16) & 0xFF;
        $g = ($rgb >> <img src='http://www.sastgroup.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> & 0xFF;
        $b = $rgb & 0xFF;
        imagesetpixel($im, $x, $y, $palette[grayscale($r, $g, $b)]);
    }
}
 
imagepng($im);
imagedestroy($im);
?>

Category: Programmazione | No Comments »

Estrarre il testo senza html, stili e script da HTML

novembre 5th, 2010 by Giovanni Caputo

La funzione PHP standard strip_tags() riesce ad eliminare i tag ma è necessario togliere anche stili, script, oggetti embed e altro codice indesiderato.

unction strip_html_tags( $text )
{
    $text = preg_replace(
        array(
          // Remove invisible content
            '@&lt;head[^&gt;]*?&gt;.*?&lt;/head&gt;@siu',
            '@&lt;style[^&gt;]*?&gt;.*?&lt;/style&gt;@siu',
            '@&lt;script[^&gt;]*?.*?&lt;/script&gt;@siu',
            '@&lt;object[^&gt;]*?.*?&lt;/object&gt;@siu',
            '@&lt;embed[^&gt;]*?.*?&lt;/embed&gt;@siu',
            '@&lt;applet[^&gt;]*?.*?&lt;/applet&gt;@siu',
            '@&lt;noframes[^&gt;]*?.*?&lt;/noframes&gt;@siu',
            '@&lt;noscript[^&gt;]*?.*?&lt;/noscript&gt;@siu',
            '@&lt;noembed[^&gt;]*?.*?&lt;/noembed&gt;@siu',
          // Add line breaks before and after blocks
            '@&lt;/?((address)|(blockquote)|(center)|(del))@iu',
            '@&lt;/?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',
            '@&lt;/?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',
            '@&lt;/?((table)|(th)|(td)|(caption))@iu',
            '@&lt;/?((form)|(button)|(fieldset)|(legend)|(input))@iu',
            '@&lt;/?((label)|(select)|(optgroup)|(option)|(textarea))@iu',
            '@&lt;/?((frameset)|(frame)|(iframe))@iu',
        ),
        array(
            ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
            &quot;\n\$0&quot;, &quot;\n\$0&quot;, &quot;\n\$0&quot;, &quot;\n\$0&quot;, &quot;\n\$0&quot;, &quot;\n\$0&quot;,
            &quot;\n\$0&quot;, &quot;\n\$0&quot;,
        ),
        $text );
    return strip_tags( $text );
}

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

Purificare una stringa in PHP con la sicurezza

ottobre 18th, 2010 by Giovanni Caputo

Per evitare SQL injection potrebbe esser utile purificare le stringhe ottenute tramite un form:

function str2db($input, $strip_tags=true) {
	if(is_array($input)) {
		foreach($input as $key => $value) {
			$input[$key] = str2db($value);
		}
	} else {
		if(get_magic_quotes_gpc()) {
			if(ini_get('magic_quotes_sybase')){
					$input = str_replace("''", "'", $input);
			}
			else {
				$input = stripslashes($input);
			}
        }
		if($strip_tags) {
			$input = strip_tags($input);
		}
		$input = mysql_real_escape_string($input);
		$input = trim($input);
	}
	return $input;
}

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

PHP – Copiare phpinfo() in un file

agosto 20th, 2010 by Giovanni Caputo

ob_start();
phpinfo();
file_put_contents('filename.txt', ob_get_clean());

Category: Programmazione | No Comments »

Effetture backup con PHP e FTP

aprile 4th, 2010 by Giovanni Caputo

In questo tutorial andremo a creare uno script PHP che archivia il vostro sito web in un file.rar e lo sposta automaticamente (tramite cron) in un server FTP esterno.
Se il vostro Server non supporta i CronJobs vi consiglio questo sito.

< ?php
 
$dir = '/percorso/del/file'; // Directory da salvare
$filename = 'backups/backup' . date("MdY") . '.tar'; //percorso dove viene salvato il backup
 
$ftp_server = 'indirizzoFTP.com'; //Server FTP esterno
$ftp_user_name = 'UsernameFTP'; //FTP username
$ftp_password = 'PasswordFTP'; //FTP password
 
if(system("tar cvf $filename $dir"))
{
 
	$conn_id = ftp_connect($ftp_server); 
 
	$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_password);
 
	if (($conn_id) || ($login_result)) { 
 
		$upload = ftp_put($conn_id, 'backups/' . date("MdY") . '.tar', $filename, FTP_BINARY);      
 
		}
 
ftp_close($conn_id);
 
}
 
?>


Fonte: www.sastgroup.com

Category: Programmazione, Siti Web, Tecnologia, tutorial | 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 »