Visualizzazione post con etichetta guide. Mostra tutti i post
Visualizzazione post con etichetta guide. Mostra tutti i post

martedì 23 ottobre 2018

Come far girare Google

Tra i vari trucchi per google ce n'è uno davvero divertente, che vale la pena raccontare in un apposito post, questo per l'appunto :p
Come ben saprete se siete degli smanettoni, il motore di ricerca più usato al mondo nasconde al suo interno alcuni segreti, per non dire delle vere e proprie chicche.

Dopo avervi svelato l'origine dei doodle, oggi andremo a vedere cosa google riesce a far fare al vostro browser.


Come far girare Google


Il titolo di questo articolo lascia davvero poco spazio all'immaginazione, anche se in realtà il risultato che otterrete esegundo le istruzioni che vi sto per illustrare andrà oltre ogni immaginaria aspettativa.

Bando alle ciance dunque, aprite google, e digitate la seguente frase:

do a barrel roll

poi premete semplicemente Invio.

Tutto qui, con questo semplice comando dato al motore di ricerca, o per meglio dire, cercando queste semplici parole, il vostro browser effettuerà un giro completo di 360 gradi in senso orario.
Se poi non avete voglia di aprire chrome o firefox per cercare di vedere se sto dicendo il vero, eccovi un link dove poter toccare con mano il risultato ottenuto con questo barbatrucco:
https://youtu.be/DkSoiFbRiF0



Forte, no?

giovedì 18 ottobre 2018

Leggi il post

Rimuovere separatore di troppo in php

Ti è mai capitato di generare una sorta di file csv tramite php e di dover utilizzare un contatore per capire quale è l'ultimo valore di un loop, e non mettere così alla fine il punto e virgola?
A me si, e spesso anche :p
Bene, e se ti dicessi che c'è una funzione php che può farti risparmiare qualche riga di codice? Una funzione che nasce per altri scopi e che può servire anche per rimuovere caratteri specifici alla fine di una stringa.

Bene allora, bando alle ciance e vediamo subito con un po' di codice di capire di che cosa sto parlando.


Come rimuovere un separatore di troppo con il php


Prendiamo il caso sopraccitato.
Se ad esempio con un loop hai generato una lista di nomi separata da un punto e virgola, o più in generale una lista di valori, e non ti sei preoccupato di piazzare il separatore anche all'ultimo valore in elenco, e questo può essere un problema per successivi loop after explode, ecco cosa devi fare per risolvere subito la questione:

<?
    $stringa="nome;cognome;stato;regione;telefono;";
    echo rtrim($stringa,";");
?>


La funzione php che con un colpo solo rimuove l'ultimo separatore indesiderato è la potentissima rtrim.
In pratica con questo comando, a cui passi la stringa da pulire ed il carattere (anche stringa) da eliminare, puoi far sparire l'ultimo punto e virgola di destra.
Tutto molto più semplice, no?

Se invece vuoi far sparire il primo separatore presente in una stringa, ti basta un ltrim ed il gioco è fatto.

lunedì 8 ottobre 2018

Come connettersi ad oracle da php

Il database per eccellenza di chi sviluppa in php è sicuramente il mysql, questo lo sanno tutti.
Ma se vi dicessi che mysql è una sorta di versione free ridotta di oracle? :p
Bene, se nella vostra azienda non sono solo opensourcisti ed avete a disposizione anche questo signor database, potrebbe capitarvi la necessità di dover pescare dati dal php ad oracle, direttamente, senza server linkati o diavolerie simili (che alla lunga possono dare problemi).

Vediamo dunque come fare per potersi collegare ad oracle da php, in modo tale da poter inserire / modificare / cancellare dati su un database oracle presente su un altro server.


Come connettersi ad oracle da php


Prima di passare al codice da utilizzare per effettuare questa connessione, occorre agire sul php.ini per poter abilitare un'estensione necessaria per far parlare oracle con il php, trattasi della php_oci8.

Come connettersi ad oracle da php

A seconda della versione di oracle con cui dovete parlare, dovrete abilitare/installare una dll piuttosto che un'altra (es. php_oci8_11g o php_oci8_12c).
Diciamo che in linea di massima la versione 12c dovrebbe essere quella corretta per le più recenti versioni di oracle.
Ad ogni modo, se avete wamp, per abilitare le estensioni basta un click, altrimenti basta andare nel php.ini ed al paragrafo Extensions, scommentare (togliendo il punto e virgola prima della stringa) o aggiungere (se non presente) la seguente riga:
extension=php_oci8_12c.dll
poi riavviare il webserver (o wamp) per rendere effettive le modifiche.

Adesso che la parte di configurazione è terminata, vediamo subito il codice necessario per potersi collegare ad oracle da una pagina php:

<?php
$conn=oci_connect('username','password','server/database');
if(!$conn)
{
$e=oci_error();
trigger_error(htmlentities($e['message'],ENT_QUOTES),E_USER_ERROR);
}
else
{
$stid = oci_parse($conn, 'SELECT campo FROM tabella_oracle WHERE condizione');
oci_execute($stid);
while(($row=oci_fetch_array($stid, OCI_BOTH))!=false)
{
echo $row['campo'];
}
}
?>


Da queste poche righe di codice si evince che la funzione necessaria per collegarsi ad oracle è la oci_connect.
Superata la connessione senza errori, si può sfogliare la tabella del database ed ottenere tutti i campi che si vuole, utilizzando più o meno la sintassi a cui si è abituati per ottenere i risultati delle query con il php.

Da tenere presente inoltre che potrebbe essere necessario specificare il nome esatto dei campi, compreso di maiuscole e minuscole (case sensitive).

La sintassi per eseguire query su oracle da php è la oci_excecute, che ovviamente può utilizzata anche per insert ed update, oltre che per sfogliare tabelle.
Inutile dire che anche per dialogare con oracle è vitale parsare le variabili da passare al db, per evitare il rischio del terribile sql injection.

Che altro dire sull'agomento?
Niente direi, a parte il fatto che se dovete connettervi ad una versione vecchia di oracle (ad esempio la 9), da una macchina con su un php nuovo, potreste faticare non poco per riuscire a reperire le giuste dll della oci (idealmente la 11c), senza le quali a video nella vostra bella pagina php avrete il seguente messaggio d'errore: "Call to undefined function oci_connect()".
Io ho perso più tempo ad aggiustare l'aspetto sistemistico della cosa, piuttosto che a fare uno script complesso per fare una migrazione da oracle a mysql!
Ad ogni modo, per i posteri, io ho risolto questo errore di connessione scaricando l'oracle instant client per la mia versione di windows (https://www.oracle.com/database/technologies/instant-client/downloads.html) e copiando i file oci.dll, oraociei12.dll (o versione scaricata) e oraons.dll nella cartella bin di apache del mio wamp.

giovedì 30 agosto 2018

Ottenere elenco tabelle mysql

Dopo aver imparato come scoprire l'elenco dei database presenti, e come selezionarne uno, è arrivato il momento di apprendere come ottenere l'elenco delle tabelle in mysql.

Se infatti non si dispone di una comoda interfaccia grafica in stile phpmyadmin ma si deve operare solo da riga di comando, è giusto conoscere la sintassi necessaria per ottenere la lista di tabelle presenti all'interno di un database.
Va da se che per poter avere una lista di tabelle di un db, bisogna prima entrare nel db desiderato, con il metodo linkato poco sopra.

Bene, andiamo subito sul pratico e vediamo come compiere questa semplice operazione in sql.


Come ottenere l'elenco delle tabelle di un database mysql


Dopo essere entrati nel nostro database, se per caso non ci ricordiamo il nome esatto della tabella mysql che vogliamo andare ad interrogare, ecco il comando necessario per ricavare la lista delle tabelle presenti in un db:

show tables;

Con questo semplice comando seguito da punto e virgola ed un bell'invio, potremo vedere subito a video tutte le tabelle esistenti in un determinato database mysql.

Ottenere elenco tabelle mysql

Non penso ci sia molto altro da dire sull'argomento.
Ora si hanno infatti tutte le informazioni necessarie per poter iniziare a fare le prime query sulle tabelle, che siano di inserimento, modifica, o anche sola lettura.

martedì 28 agosto 2018

Come cambiare database in mysql

Oggi vediamo un comando base per chi si avvicina per la prima volta nel fantastico mondo dei database relazionali come mysql.
E si, perchè prima di poter fare query complesse, selezionare dati, inserire nuove righe in tabelle o eliminarle, che cosa occorrerà mai fare?
E' semplice ed ovvio, bisogna sempre prima selezionare il database mysql corretto in cui sono contenute le informazioni che vogliamo andare a guardare o manipolare.
Vediamo subito come fare.


Come cambiare database in mysql


Dopo aver fatto accesso al nostro server mysql, magari tramite console, dopo aver messo dunque user e password, finiremo di default dentro un database predefinito.
Se però vogliamo cambiare database mysql, occorre conoscere il comando da digitare.

Per fortuna è tutto molto semplice anche se si vuole fare tutto da riga di comando, ecco la sintassi da usare:

use nome-database;

Il punto e virgola come al solito segna la fine dei comandi sql, e quindi dopo un bel invio si potrà subito ottenere il risultato desiderato, ovvero iniziare ad utilizzare il db appena selezionato.

Come cambiare database in mysql

A video vedrai un bel messaggio con scritto "database changed".
Tutto qui.

Come come? Non ti ricordi il nome esatto del database che vuoi utilizzare?
Nessun problema, leggi questo post.

lunedì 27 agosto 2018

Ricavare elenco database mysql

Se accedi per la prima volta ad un server mysql, dopo aver immesso user e password, quello che forse vorrai sapere è l'elenco dei database presenti sul server.
Se utilizzi un'interfaccia grafica come phpmyadmin ed accedi come root la cosa è immediata e salta subito all'occhio, ma se sei il nuovo dba e non conosci ciò che hai ereditato, e magari non disponi di un'interfaccia grafica, non disperare perchè tutto si può ovviamente fare anche da riga di comando.

Vediamo subito come fare per scoprire la lista completa dei database mysql presenti su uno specifico server.


Come ricavare l'elenco dei database in mysql


Il requisito fondamentale per il corretto esito di questa procedura è ovviamente avere un accesso di root / amministratori al server, dato che altrimenti non potrai vedere tutti i database presenti.

Comunque, ecco il semplice comando da scrivere per poter vedere l'elenco dei database mysql esistenti sul server:

show databases;

Comando chiuso con il solito punto e virgola, seguito dal tasto invio.

Se il comando sarà stato digitato correttamente e se si hanno i giusti permessi, il risultato sarà l'elenco completo dei database.

Ricavare elenco database mysql

Fine breve post su mysql.

venerdì 17 agosto 2018

Leggi il post

Valore massimo / minimo in array php

Oggi torniamo a parlare ancora una volta degli array php.
Argomento da me molto apprezzato perchè consente un po' di fare tutto quello che serve per le varie web app, gli array sono diventati molto potenti e versatili nel corso degli anni.

Premesso che con l'uscita di sempre nuove versioni del php è possibile fare la stessa cosa con metodi e funzioni diverse, in questo post spiegherò come ottenere il valore massimo e minimo di un array, necessità che prima o poi capita un po' a tutti.

Vediamo subito come fare.


Come ottenere il valore massimo in array php


Se si ha un array php con molti valori, magari neanche ordinati, e si vuole ottenere in un colpo solo il valore massimo di un array, la funzione che fa al caso nostro si chiama max, ed è utilizzabile anche per altri tipi di variabili.

Ecco un esempio pratico:

<?
    $array=array("A"=>"Asso","B"=>"Brescia","C"=>"Como","D"=>"Domodossola");
    echo max($array);
?>


Chiamando dunque max($array) otterremo il valore / value più alto in esso contenuto, che si tratti di numeri o anche lettere.


Come ottenere il valore minimo di un array php


A rigor di logica dunque, per pescare il valore più basso contenuto in un array, occorre utilizzare la funzione php min.

Ecco un altro esempio pratico:

<?
    $array=array(3,21,2,33,1,12,4);
    echo min($array);
?>


Tutto qui, molto semplice e veloce.
Grazie a min e max è possibile dunque estrapolare il valore più piccolo e più grande presente in un array php.

martedì 14 agosto 2018

Togliere la password della SIM su Android

Ti è mai capitato di avere un cellulare aziendale con settata la password della sim? O anche se il tuo telefono non è aziendale, magari tu o qualcun altro ha settato una parola d'ordine ad ogni riavvio dello smartphone per poter utilizzare la sim inserita.

Ecco, indubbiamente questa è una sicurezza in più, un modo per proteggere al meglio i nostri dati e contatti da mani ed occhi indiscreti.
Ci sono però casi in cui questa operazione risulti un fastidio o un qualcosa di rindondante.
Poniamo ad esempio di aver già messo sul nostro cellulare il blocco pin ed il blocco con impronta digitale, dover mettere un'ulteriore password ogni volta che si accende il telefono può risultare alla lunga una inutile seccatura.

Vediamo dunque come rimuovere questo vincolo.


Come togliere la password della SIM su Android


Per poter disabilitare il controllo password sim su un cellulare con sistema operativo android di ultima generazione (es. android 7 o 8), basta compiere le seguenti azioni:
  1. Entrare in Impostazioni
  2. Cliccare su Schermo blocco sicurezza
  3. Cliccare su Altre impostazioni di sicurezza
  4. Cliccare su Configura blocco SIM
  5. Defleggare la voce Blocca scheda SIM

Togliere la password della SIM su Android

Se richiesto, immettere il pin di sicurezza della sim.
Questo controllo finale serve ovviamente per impedire che chiunque prenda il tuo telefono possa sbloccare la password della sim senza conoscerla.

In linea generale, il mio consiglio è quello di tenere attivo almeno un controllo con password come blocco telefono, che sia sulla sim o tramite pin d'accesso.
Certo è anche vero che se si toglie la password alla sim, questa può essere inserita ed usata in qualsiasi altro telefono, quindi se ti rubano il cellulare poi devi correre a far bloccare la sim dal tuo gestore, prima che il ladro faccia costose chiamate con il tuo numero!

PS ovviamente questa procedura può essere eseguita anche per mettere la password alla sim su android, basta solo fleggare la spunta blocca scheda sim.

giovedì 9 agosto 2018

Scaricare video streaming da openload

Se sei un amante dei film streaming online, legali e senza violazioni di copyright si intende, forse avrai notato che a volte è difficile guardarli senza che il filmato scatti un po' o addirittura si blocchi.
Ecco, in questi casi forse vale la pena di scaricare preventivamente l'intero filmato sul proprio pc, per poi poterlo visionare successivamente senza interruzioni di alcun tipo.

Oltre ai vari problemi di buffer e rispettivi salti video, un altro buon motivo per scaricare i video streaming su pc è quello che se non si possiede strumenti tipo chromecast, con lo streaming classico non si può vedere il filmato sul proprio televisore, ma solo su computer.
Se però si possiede un file avi o mp4, lo si può tranquillamente copiarlo su una chiavetta usb per poi visionarlo su un televisore anche di non nuovissima generazione.

Bene, fatte queste premesse, vediamo subito come compiere queste semplici azioni di download video streaming, nello specifico della piattaforma openload.


Come scaricare video streaming da openload


Se la piattaforma su cui sono presenti i video che di solito guardi in streaming è openload, eccoti subito spiegato come poter scaricare tutti i filmati che ti pare.
Ribadisco, utilizza questo tutorial solo su filmati che non violano il copyright, e ad ogni modo elimina i file scaricati dopo la visione.

Ecco qui di seguito i passaggi da seguire:
  1. Ottieni l'url di openload, idealmente qualcosa del genere https://oload.download/f/ex3b....
  2. Collegati al seguente sito web http://fordownloader.com/openload-downloader/
  3.  Incolla l'indirizzo di openload nell'apposito box
  4. Clicca sul bottone Download video
  5. Se necessario disabilita temporaneamente eventuali adblock, poi nella finestra che si aprirà clicca su Download
  6. Apparirà un nuovo box blu con scritto Free Download, cliccaci sopra per far partire il download del tuo browser

Scaricare video streaming da openload

openload download

Tutto qui.
Attendi con pazienza la fine del download e poi gustati il tuo filmato.
Questo sito in teoria rende più veloci gli scaricamenti dei filmati presenti su openload, o almeno a me è sembrato così :)
Il succo del discorso è che comunque questo tipo di operazioni è meglio non farle quando si intende vedere il film, ma prima.
Se infatti vuoi visionare un filmato una sera, meglio pensarci un po' prima, onde evitare soprese, perchè a volte anche con una fibra ottica super potente, il download può impiegarci anche diverse ore.

Per ribadire il fatto che questa guida non incita alla pirateria, cito un tipico esempio di utilizzo legale di openload.
Ad esempio, se un tuo amico vuole mostrarti dei filmati del suo matrimonio ma gli sta antipatico youtube, ecco che può caricarli semplicemente su openload e passarti l'url per la visione :p

martedì 7 agosto 2018

Disabilitare metodo trace apache

Per poter mettere più in sicurezza il proprio server web, che sia wamp sotto windows o lamp sotto linux, o altro, una delle best practice è quella di disabilitare il metodo trace di apache.

Il trace method sostanzialmente traccia una richiesta, visualizzando come viene trattata dal server.
Non è argomento di questo post indagare su come gli hacker/cracker sfruttino questo metodo per attaccare i server contenenti i siti internet, ma vediamo invece come correre ai ripari.


Come verificare se il metodo trace è attivo


Innanzitutto vediamo come verificare se sul nostro server apache il metodo trace è attivo oppure no.
Basta aprire il prompt di comandi di windows (o qualsiasi dos shell), lanciare telnet passandogli l'host e la porta (es. telnet localhost 80), e digitare/incollare i seguenti comandi:

TRACE / HTTP/1.0
Host: ip-server
TestA: Ciao
TestB: Mondo


E committarli dando doppio invio (almeno con telnet di windows).
Se a video verranno riportati i dati immessi, senza errori, allora il metodo trace è attivo.

Disabilitare metodo trace apache


Come disabilitare il metodo trace su apache


Bene, appurato che il terribile metodo trace è attivo sul nostro server apache, vediamo subito come disattivarlo.

Online c'è chi dice di verificare che il modulo mod_rewrite in httpd.conf sia attivo, controllando che la seguente riga sia presente e che non sia commentata:
LoadModule  rewrite_module  "/usr/local/apache/modules/mod_rewrite.so"

Per poi aggiungere in httpd.conf le seguenti righe di configurazione:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]


A mio avviso però, il metodo più veloce per disattivare il trace method di apache è quello di aggiungere in httpd.conf la seguente riga:

TraceEnable Off

Dopo aver riavviato apache (o wamp), e ripetendo il controllo con telnet, riceveremo a video il seguente messaggio di errore: "The requested method TRACE is not allowed for the URL..." o banalmente "405 method not allowed".

E' tutto, da ora in poi il nostro sito internet non potrà subire danni a causa di un attacco che sfrutta il metodo trace.

lunedì 6 agosto 2018

Leggi il post

Chiave univoca mysql troppo lunga

Non troppo tempo fa mi sono trovato a dover convertire un database mysql da latin swedish ci al più prestante ed universale utf8 general ci.
A parte i vari problemi di conversione per via di charset salvati in maniera magari errata, mi sono ritrovato davanti ad un errore improvviso mysql:

"Specified key was too long; max key length is xxx bytes".

In buona sostanza, cercando su internet ho poi scoperto che le chiavi mysql, in questo caso una chiave univoca, possono essere lunghe massimo 1000 caratteri.
Il fatto che tutto prima del cambio di charset funzionasse è dovuto sostanzialmente al fatto che latin ed utf8 occupano diverso spazio in bytes per il salvataggio.

Comunque, cercando un po' su internet, ho per fortuna trovato la soluzione al problema della chiave mysql troppo lunga, vediamo subito di cosa si tratta.


Come risolvere il problema della chiave univoca mysql troppo lunga

Per poter evitare il terribile errore "Specified key was too long; max key length is xxx bytes" sulle chiavi mysql, si può agire sostanzialmente in tre modi.

La prima soluzione è la più semplice e forse veloce, anche se magari non sempre attuabile: bisogna ridurre la lunghezza dei campi che compongono la chiave.

Ad esempio, se un campo nome di una ipotetica tabella mysql è stato creato di tipo varchar(255), magari è il caso di ottimizzare le risorse e di farlo ad esempio varchar(100).

Se però non è possibile agire direttamente sulla lunghezza dei campi perchè sono già troppo corti, allora si può agire sulla lunghezza massima della chiave mysql generata.
Ecco un esempio di come poter fare:

ALTER TABLE `tabella` ADD UNIQUE ( campo1(50), campo2(100) );

Infine, un'altra possibile soluzione per questo antipatico errore mysql è quella di ridurre il numero di campi dell'indice univoco.
Anche in questo caso ovviamente, non è sempre possibile farlo.

A seconda dunque della versione di mysql in uso e della lunghezza massima degli indici, potrebbe essere necessario dover rivedere la logica su come sono stati costruiti i campi delle tabelle del database, o le key stesse.

venerdì 3 agosto 2018

Leggi il post

Ricavare le chiavi di un array php

Oggi vediamo un'insolita richiesta che riguarda gli array php.
Poniamo ad esempio che, per qualche oscuro motivo tu fossi interessato solo alle chiavi presenti in un'array, mettiamo caso quindi che il tuo scopo sia quello di ottenere un array con al suo interno (come valore) solo le chiavi di un array d'origine... bè, con le funzioni native del php puoi fare anche questo.

Vediamo subito come ottenere l'elenco delle chiavi di un array php, tramite una sola e semplice funzione.


Come ricavare le chiavi di un array php


Per poter ottenere un array di chiavi partendo da un array originale di chiavi e valori, puoi utilizzare la seguente sintassi:

$array_chiavi=array_keys($array_originale);

Grazie alla utilissima array_keys php infatti, potrai generare un nuovo array di keys partendo da una lista originale.

Ecco un esempio pratico:

<?
    $array=array("A"=>"Asso","B"=>"Brescia","C"=>"Como");
    $array_chiavi=array_keys($array);
    foreach ($array_chiavi as $chiave=>$valore) echo "$valore<br />";
?>


Un osservatore attento ovviamente noterà subito che il nuovo array così creato avrà in realtà a sua volta delle chiavi, che però non saranno più quelle originali (che sono finite come valore), ma dei nuovi valori che partono da zero.

A cosa può servire tutto ciò?
Mmm, ad esempio se per qualche motivo ci serve l'elenco di chiavi presenti in un array separato da virgola, prima usiamo la array_keys, e poi la funzione spiegata in questo post.

mercoledì 1 agosto 2018

Leggi il post

Da array a stringa (implode php)

Ti è mai capitato di dover trasformare il contenuto di un array in una stringa?
Si, magari hai la tua bella lista e non è tua intenzione sfogliare l'array php per accingere ai vari risultati, magari hai salvato una lista di id e vuoi averli separati da virgola.
Ecco che con il metodo che ti sto per spiegare, potrai trasformare un array in una stringa di testo, con una sola e semplice funzione.
Vediamo subito come fare (cit.).


Come passare da array a stringa con l'implode php


Il titolo di questo post era già di per sè un bello spoiler, dato che tutto ciò che ci serve è la funzione php implode.

Ecco un esempio di codice:

<?
    $array=array("verde","rosso","giallo");
    $stringa=implode(",",$array);
    echo $stringa;
?>


Con la funzione implode, alla quale passiamo come primo parametro un delimitatore e come secondo l'array da tramutare in stringa, basta una sola riga di codice per fare quello che un tempo si faceva con un ciclo.

Il risultato a video sarà, in questo caso, la lista dei record presenti nell'array divisi da virgola.
Cambiando delimitatore ovviamente, sarà possibile ottenere la nostra stringa delimitata da punto e virgola, da spazi, o da qualsiasi altra cosa ci venga in mente.

Gli array php sono sempre più utili, soprattutto grazie a queste potenti funzioni che consentono di trasformare i dati ed ottenerli nel formato che più ci aggrada, oggi è stato da array a stringa, domani magari sarà da array a json... ma questo è un altro post (cit.)

venerdì 27 luglio 2018

Leggi il post

Come unire due array in php

La desiderata del giorno è molto semplice: unire array php.
Poniamo ad esempio di avere due o più liste separate di nomi, salvate per qualche ignoto motivo in array differenti, come si può fare per unire il contenuto dei due array?
Presto detto, continua a leggere questo post (cit.).


Come unire due array in php


Per poter mixare due array, accodando tutte le chiavi ed i valori del secondo dentro al primo, basta usare il comando php array_merge.

Prendiamo l'esempio delle due liste di nomi, ecco un po' di codice per capire subito come funziona il merge degli array in php:

<?
    $nomi_maschili=array("giovanni","rosario","francesco");
    $nomi_femminili=array("chiara","giovanna","antonia");
    $nomi=array_merge($nomi_maschili,$nomi_femminili);
    print_r($nomi);
?>


La prima obiezione che potrebbe sorgere guardando il codice che ho appena postato, è che con questo metodo le chiavi numeriche degli array uniti cambiano.
Per evitare questo effetto collaterale si può, prima di fare il merge, assegnare una chiave non numerica a mano ad ogni valore degli array, prestando però attenzione a non generare duplicati tra un array ed un altro, così ad esempio:

<?
    $nomi_maschili=array("gio"=>"giovanni","ros"=>"rosario","fran"=>"francesco");
    $nomi_femminili=array("chia"=>"chiara","giov"=>"giovanna","anto"=>"antonia");
    $nomi=array_merge($nomi_maschili,$nomi_femminili);
    print_r($nomi);
?>


Ed ecco che con il potentissimo array merge php si potranno mixare infinite liste di array.

giovedì 26 luglio 2018

Come installare Laravel su Windows

Laravel è un framework open source di tipo MVC (modello-vista-controllo) scritto in PHP per lo sviluppo di applicazioni web e siti internet in generale.
Laravel è stato creato nel 2011 da Taylor Otwell, come una sorta di spin-off di Symfony, e poi distribuito con licenza MIT.
Tutto il codice sorgente di laravel può essere trovato su GitHub, sul quale ha riscosso un grande successo.

Fatta questa premessa su quello che forse è il framework php più famoso al mondo, ed evitando sterili polemiche sul fatto che i veri programmatori usano le proprie librerie e che le tabelle del database se le creano a mano perchè conoscono l'sql, vediamo subito come fare per installare laravel su windows, quindi volendo anche ambiente wamp.


Come installare Laravel su Windows


Per poter installare velocemente laravel, occorre prima installare composer.
Se non sai come fare, leggi prima questo post, che ti spiega anche come configurare il php in modo che sia facilmente eseguibile sotto windows.

Dopo aver messo il composer in una cartella generica che possiamo chiamare laravel, andiamo a generare i nostri ambienti di sviluppo, gestendoli come sottocartelle indipendenti.
Se ad esempio il nostro sito si deve chiamare fatture, ecco cosa scrivere dal prompt dei comandi di dos partendo dalla cartella laravel in cui abbiamo installato il composer:

php composer.phar create-project laravel/laravel nomeprogetto --prefer-dist

Dove ovviamente in questo caso, al posto di nomeprogetto dovremo scrivere fatture.

Attendiamo con pazienza la fine del download e dell'installazione di tutti i pacchetti, ed il gioco è fatto.

Come installare Laravel su Windows

Se tutto sarà andato a buon fine, non ci saranno errori a video ed avremo la nostra cartellina fatture con tutti i file di laravel necessari per poter gestire il progetto.

Ah, dimenticavo, allo stato attuale per poter utilizzare laravel occorre soddisfare i seguenti requisiti:
  • Avere PHP versione 5.5.9 o successive
  • Abilitare l’estensione PHP Mbstring
  • Abilitare l’estensione PHP PDO
  • Abilitare l’estensione PHP Tokenizer
  • Abilitare l’estensione PHP OpenSSL 

E' tutto, eccoci pronti per muovere i primi passi con il framework php laravel, tantè che con questo metodo viene già generato il file di configurazione contenente l'application key.

martedì 24 luglio 2018

Leggi il post

Come installare Composer su Windows

Composer è uno standard mondiale per la gestione delle dipendenze in PHP, uno strumento che permette anche il setup e la generazione di ambienti.
Composer semplifica il lavoro dello sviluppatore, rendendo facile l’utilizzo di librerie di terze parti e consentendo anche di usare microlibrerie al posto di più pesanti macrolibrerie.
Composer installa automaticamente le dipendenze delle librerie che si devono usare, liberando lo sviluppatore da quest'onere.

Inoltre Composer, si occupa anche degli aggiornamenti, eseguibili  facilmente tramite semplici comandi che tengono conto di eventuali limiti impostati nel file di configurazione.
Infine Composer fornisce anche una funzione per l’autocaricamento delle classi, la quale può essere ottimizzata per l’ambiente di produzione.


Come installare Composer su Windows


Se utilizzi php sotto windows, magari con wamp, devi sapere che la sintassi per installare composer è la medesima che in altri ambienti.

Ecco cosa devi fare per installare composer:
  1. Apri il prompt di dos con i permessi di amministratori
  2. Entra nella cartella dove vuoi installare il composer
  3. Se non hai registrato il php come variabile d'ambiente su windows, per semplicità per poterlo lanciare da qualsiasi parte, fallo (se non sei capace leggi questo post)
  4. Digita in sequenza i seguenti comandi nel prompt di dos (dopo ogni riga, riconoscibile dalla parola php, premi invio):
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"

L'unica accortezza che dovresti avere, è quella di verificare, nel caso nel secondo comando ti dia errore, se l'installer scaricato abbia l'hash aggiornato (altrimenti ti appare installer corrupt), andando a verificare il tutto su questo sito e nel caso sostituire l'hash_file trovato in questo esempio con quello corrente.

Ecco tutto, hai già installato composer su windows.
Ora per poterlo utilizzare digita banalmente php composer.phar nella cartella in cui è stato generato questo file, e segui le istruzioni a video.

Ed ecco che hai fatto i tuoi primi passi nel magnifico mondo di composer php :)

mercoledì 11 luglio 2018

Come salvare post su Instagram

Sul social network più famoso per caricare le foto, ovvero instagram, è ormai possibile fare un po' di tutto.
Tra le varie funzioni utili di questo social, ce n'è una che può aiutarci a ritrovare fotografie interessanti, foto che magari troviamo navigando sui vari profili, e che vogliamo poter rivedere ogni volta che ci aggrada.

Ecco che con la funzione che sto per andare a spiegarti, potrai salvare post su instagram, in modo tale da poterli ritrovare quando ti pare.
Che siano foto o video, potrai archiviare i tuoi post preferiti ed averli così a portata di click.
Vediamo subito come fare.


Come salvare post su Instagram


Per poter salvare nei preferiti instagram foto e video, basta procedere nel seguente modo:
  1. Accedi ad instagram da pc o da cellulare, immettendo se necessario user e password
  2. Entra nel post che vuoi salvare cliccandoci sopra
  3. In basso a destra della foto o del video in questione, dovrai cliccare sull'icona a forma di quadrato con due punte (è una sorta di post-it forse)

Come salvare post su Instagram

Ecco, così facendo avrai già salvato il post in archivio, se però quando compi questa operazione appare la voce salva nella raccolta, e se ci clicchi sopra, potrai archiviare in apposite cartelle i vari post, a seconda quindi della loro categoria.

Bene, fine post...
Scherzo, ovviamente devi sapere dove poter andare a ripescare i post salvati su instagram.
I post archiviati su instagram li ritrovi cliccando sull'icona dell'omino, quella che ti porta alla tua home personale.
Una volta in questa sezione troverai l'icona di prima, quella che hai usato per salvare il post nei preferiti di instagram, o addirittura (nella versione web) avrai la voce "elemento salvato".

elemento salvato

In questa sezione ritroverai tutti i post archiviati e potrai modificare e/o eliminare eventuali cartelle/categorie, o i singoli post (entrandoci dentro e rimuovendo la spunta sull'icona di archiviazione).

Ecco un breve tutorial youtube su come fare quanto appena detto, con smartphone:
https://youtu.be/f_BN6qPlR3c



Tutto molto semplice no?

venerdì 6 luglio 2018

Nascondere versione PHP wamp

La suddetta guida su come nascondere le informazioni del php è valida sia per wamp, che per qualsiasi altro tipo di installazione e/o server, dato che si andrà ad agire direttamente sui file di configurazione del php.

Quello che ci interessa poter fare è non fare apparire la versione del php in uso sul server, in modo tale da rendere meno vulnerabili i nostri siti internet da attacchi malevoli.
La logica dietro alla necessità di questa azione è molto semplice: meno cose il nemico sa, e più per lui sarà difficile trovare il modo di attaccarti.

Nascondere versione PHP wamp

Vediamo dunque come fare per aumentare la sicurezza/privacy del nostro sito php.


Come nascondere le informazioni del PHP con wamp (e non)


Per far sparire dal server la versione in uso del php, basta agire sul famoso file di configurazione php.ini.

Se utilizzi wamp, trovi questo file cliccando con il tasto sinistro del mouse sull'icona del programma, poi cliccando su php ed infine su php.ini.

Adesso dovrai cercare e sostituire

expose_php = On

con

expose_php = Off

Ed ovviamente riavviare tutti i servizi di wamp.

Nel file di configurazione del php troverai la seguente spiegazione:
"Decides whether PHP may expose the fact that it is installed on the server (e.g. by adding its signature to the Web server header).  It is no security threat in any way, but it makes it possible to determine whether you use PHP on your server or not."

Questo in pratica vuole anche dire che volendo per far sparire questa informazione, basta agire anche solo sul file di configurazione di apache, come spiegato in questo post.

giovedì 5 luglio 2018

Nascondere le informazioni di Apache su Wamp

Se come web server utilizzi apache, è buona norma nascondere a tutti le informazioni sul server.
Sto parlando della versione di apache utilizzata, la versione del sistema operativo, e la porta, tutti dati visibili in bella mostra di default.

Nascondere le informazioni di Apache su Wamp

Un hacker o cracker, già da queste informazioni potrebbe risultare avvantaggiato nella sua malevole azione di attacco al tuo sito internet / server.
Comunque, sia che tu utilizzi apache di wamp, sia che tu sia su linux, le operazioni da fare per rendere più sicuro il webserver sono le medesime, ed ora te le mostrerò.


Come nascondere le informazioni di Apache su Wamp (e non)


Per poter far sparire l'informazione della versione di apache ed altri dati sensibili e potenzialmente a rischio vulnerabilità, basta agire sul famigerato file httpd.conf di apache.

Se utilizzi wamp, basta fare:
tasto sinistro del mouse sull'icona di wamp -> apache -> httpd.conf.

Adesso dobbiamo cercare i seguenti parametri di configurazione: ServerSignature e ServerTokens.
Dovrebbero essere presenti e settati sul file di configurazione di apache, ma nel caso non lo fossero basta aggiungere le due righe impostate nel seguente modo:

ServerSignature Off
ServerTokens Prod


Ovviamente, se si vuole mantenere lo storico della vecchia configurazione, se fossero già presenti queste due righe, basta commentarle usando il cancelletto # prima del nome.

Adesso non ci resterà altro che riavviare apache ed il gioco è fatto.
Riaccedendo ad esempio ad una directory che prima mostrava le informazioni del server, queste saranno sparite come per magia.

martedì 3 luglio 2018

Disabilitare directory listing WAMP (apache)

Se si vuole aumentare la sicurezza del proprio webserver, una prassi molto collaudata è quella di disabilitare il directory listing.
Il directory listing è infatti quell'opzione, solitamente impostata a true di default, che consente a chi accede tramite web ad una directory presente su di un sito web, di vedere il suo contenuto come se si stesse vedendo una cartella di esplora risorse.
Con questa modalità attiva infatti, il server mostra tutte le cartelle ed i file presenti nelle directory navigate, andando dunque a ridurre la privacy e la sicurezza dei vari siti internet.

Vediamo dunque come agire su apache, in modo tale da impedire che chiunque possa leggere (ad esempio) l'elenco delle immagini che abbiamo su di un nostro sito.


Come disabilitare il directory listing di apache su WAMP apache


La seguente guida è stata pensata per wamp, quindi per i siti che girano sotto windows, tuttavia, andando a modificare il file di configurazione di apache, il seguente tutorial è valido anche per lamp e per i server linux, o in generale per qualsiasi webserver che utilizza apache.

Per poter impedire di sfogliare le cartelle su wamp, basta andare a modificare il file di configurazione di apache, il famoso httpd.conf.

Se non sai dove si trova questo file, basta cliccare con il tasto sinistro sull'icona di wamp, poi cliccare su apache e poi su httpd.conf.

Adesso dobbiamo andare a cercare nella sezione <Directory "${INSTALL_DIR}/www/">, una riga che può contenere una sintassi del genere: Options +Indexes +FollowSymLinks +Multiviews.

Commentiamo questa riga con il cancelletto e sostituiamola con:

Options -Indexes

Volendo potremmo lasciare tutto invariato, ed impostare solo il comando che blocca lo sfoglia cartelle, ovvero il -Indexes.

In realtà però, questo potrebbe non bastare, dato che apache può usare virtual hosts con configurazioni diverse per ogni sito.
Andiamo dunque a cercare la stringa Options che vogliamo modificare, all'interno del file httpd-vhosts.conf, sempre raggiungibile tramite tasto sinistro di wamp su apache.

Disabilitare directory listing WAMP (apache)

Ecco un esempio di sintassi, prima e dopo il blocco del directory listing:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>


Dopo:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options -Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>


Ora, riavviamo apache per ottenere nelle cartelle senza index, il seguente messaggio di blocco:
Forbidden You don't have permission to access /cartella/ on this server.

Se poi sei un programmatore di vecchia data, tutto questo potrebbe risultare solo un dipiù, dato che sicuramente avrai messo in ogni cartella almeno un index.html che fa la redirect alla root del sito, e che quindi di fatto impedisce il directory listing delle cartelle sensibili.