Influisce sulla sicurezza di Laravel 5 quando cambia la struttura delle cartelle per rimuovere la cartella pubblica

Sono nuovo in Laravel 5.

Ho trovato questo Laravel 5 – Rimuovi pubblico dall'URL su Stack Overflow per rimuovere la cartella pubblica dalla mia app Laravel 5. Solo io ho una domanda sulla sicurezza.

Quando rimuovo il pubblico dall'URL, devo modificare la struttura di base della cartella di Laravel 5. Sì, funziona senza il pubblico dall'URL.

Ma cos'è la sicurezza di Laravel, perché sto cambiando la struttura predefinita delle cartelle? È sicuro da usare?

Dovresti puntare la tua radice host Apache alla $LARAVEL_PATH/public invece di $LARAVEL_PATH .

Il punto di avere sottodirectory per www host root invece che per project root è che non stai perdendo nessuno dei tuoi file di progetto attraverso il tuo web server.

Anche se tutti i file PHP hanno il suffisso file .php , l'utente malintenzionato può accedere alla tua $LARAVEL_PATH/storage e ai suoi contenuti di sottodirectory, leggere il tuo composer.json o package.json per trovare le dependencies vulnerabili o leggere il file .env ecc.

Se stai usando l'hosting condiviso e hai public_html obbligatorio, prova a installare Laravel fuori da quella directory public_html e rimuovi public_html (se vuoto) e sostituiscilo con symlink a $LARAVEL_PATH/public OR if you want the Laravel instance to be subdirectory of public_html , do the same but create symlink from un collegamento , do the same but create symlink from $ LARAVEL_PATH / pubblico to public_html / $ PROJECT_SUBDIR`.

Quella directory pubblica è lì per motivi che rendono il progetto un po 'più sicuro. Risolvi il problema reale e non cercare di rompere questa semplice ma bella aggiunta di sicurezza. 🙂

questo link che hai fornito non riguarda la modifica della struttura del file reale del framework, questo esempio usa mod_rewrite per riscrivere l'url della tua applicazione. In altre parole, stai dicendo al tuo server che vorresti puntare a quella directory senza che il path completo fosse visibile all'utente finale.

Dai anche un'occhiata alle risposte sottostanti del link che hai fornito.

Rinominare il server.php nella cartella principale di Laravel in index.php e copiare il file .htaccess da / public directory nella cartella principale di Laravel. — Questo è tutto !! 🙂