Antispam per form contatti in PHP

Per evitare di ricevere messaggi contenenti spam da moduli (form) presenti sul proprio sito web esistono già diversi metodi preconfezionati come ad esempio gli ottimi sistemi reCAPTCHA di Google nelle versioni “non sono un robot” (reCAPTCHA V2) e Invisible reCAPTCHA, di cui ho già parlato in precedenza.

Entrambi funzionano perfettamente nella maggior parte dei casi ma hanno anche alcuni svantaggi da considerare:

Continua a leggere

RegEx per validare un indirizzo email (in php e in javascript)

[A-z0-9\.\+_-]+@[A-z0-9\._-]+\.[A-z]{2,6}

Magari non intuitiva ma neanche particolarmente complessa la RegEx da utilizzare per validare un indirizzo email (ad esempio inserito dall’utente che compila un form html).

In sostanza questa espressione regolare verifica che prima della chiocciola ci si un blocco di caratteri alfanumerici (con l’aggiunta eventuale di “.”, “+”, “_” e “-“), che dopo di essa invece ci sia almeno un blocco di caratteri alfanumerici (più “_” e  “-“),  separati da un “.”, ed infine un’estensione di almeno due lettere.

Continua a leggere

Ottenere il dominio da un url con php

Fortunatamente non servono regular expression o complessi passaggi ma ce la possiamo cavare con una sola istruzione php, ovvero parse_url.

Questa istruzione permette di analizzare un url dato ed ottenere la parte di cui necessitiamo andandola a specificare come secondo parametro, come, ad esempio, l’host, il path e la query string.

Quindi, tornando alla domanda iniziale, ecco l’istruzione completa per ottenere da un url il dominio:

$host = parse_url($url,PHP_URL_HOST);

Il dettaglio completo di tutti i parametri utilizzabili con questa istruzione si trova sulla guida ufficiale: http://php.net/manual/en/function.parse-url.php