¿Como ocultar la url en laravel cuando usas get para editar?

publicado por: Anonymous

Deseo editar un registro mediante su id y tengo el siguiente código en mi vista:

<a href="{{route('guest.edit',$g->id)}}" class="btn btn-simple btn-warning btn-icon edit"><i class="ti-pencil-alt"></i></a>

Y asi tengo en mi ruta:

Route::resource('guest','GuestController');

Luego en mi controlador:

public function edit($id){
    $guest=Guest::find($id);
    return view('Guests.edit1',compact('guest'));
}

El problema con esto es que en mi ruta me aparece el id, lo cual considero no es seguro, aparece de esta forma

http://localhost:8081/guest/2/edit

Como soluciono de tal forma que no se muestre el id en el url, o no se muestre del todo el url

solución

Una posible solución sería emplear Encryption para mostrar su parámetro encriptado. Desde la vista , emplearía encrypt desde blade

<a href="{{route('guest.edit',Crypt::encrypt($g->id))}}"

Para luego en el controlador desencriptar este valor.

public function edit($id){
  $id =  Crypt::decrypt($id);
  $guest=Guest::find($id);
  return view('Guests.edit1',compact('guest'));
}

No olvidar use IlluminateSupportFacadesCrypt;

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *