In Laravel possiamo suggerire agli utenti una password robusta ma facile da ricordare.

Si tratta di estrarre una parola casuale da un qualsiasi dizionario (non necessariamente legato ad una lingua reale) e combinarla con una cifra generata in modo random.


namespace App\Http\Controllers;

class AjaxController extends Controller
{

    public function suggestPassword()
    {
        $path = public_path('src/words.txt');
        $words = preg_split('/\n/', file_get_contents($path));
        shuffle($words);
        $pwd = $words[0] . mt_rand(9999, 99999);
        $data = [ 'password' => $pwd ];

        return response()->json($data);
    }
} 

Quindi definiamo la nostra route AJAX che fa uso del metodo definito nel controller.


Route::get('/ajax/suggest-password', 'AjaxController@suggestPassword');

A questo punto spetta al codice lato client effettuare una richiesta GET senza parametri al path specificato.