Pagina 1 di 1

php - mettere delle pagine web sotto password

Inviato: 27/04/2018, 7:58
da gameplay_extreme
come da titolo, voi come fareste ?

Re: php - mettere delle pagine web sotto password

Inviato: 27/04/2018, 16:13
da Cash
Una cosa molto semplice può essere:

Codice: Seleziona tutto

<?php
if(!isset($_POST["password"] || (isset($_POST["password"]) && $_POST["password"] != "supersegretissimapassword") ):
?>
<form method="POST">
Inserisci la password: <input type="text" name="password" /><br>
<input type="submit" />
</form>
<?php exit; endif; ?>
// Il resto della pagina

Re: php - mettere delle pagine web sotto password

Inviato: 27/04/2018, 16:54
da gameplay_extreme
grazie, e se le pagine da proteggere fossero più di una ?

Re: php - mettere delle pagine web sotto password

Inviato: 27/04/2018, 22:34
da Cash
Intendi con una stessa password? Puoi spostare quel pezzo di codice in un file e richiamarlo sempre per primo nelle pagine che vuoi proteggere: per esempio crei un file password_check.php e fai

Codice: Seleziona tutto

require('/percorso/al/file/sul/server/password_check.php');
.
Se invece vuoi avere password diverse allora trasforma quel pezzo di codice in una funzione che prende come parametro la password da controllare, includi come prima il file nelle pagine ma poi subito dopo chiami la funzione con la password della pagina.

Re: php - mettere delle pagine web sotto password

Inviato: 28/04/2018, 8:14
da gameplay_extreme
grazie ancora,

comunque si, intendevo più pagine sotto la stessa password.

Nel modo che hai descritto mi pare di capire che bisogna riscrivere la password ogni volta (e per ogni pagina)...e se volessi che bastasse scriverla una sola volta (poi quando ho finito magari clicco su 'esci'...) come si farebbe ?

ps: se metto 'include' al posto di 'require' cambia qualcosa ?

Re: php - mettere delle pagine web sotto password

Inviato: 28/04/2018, 14:18
da Cash
Se sposti quel codice in un file e poi lo includi all'inizio delle pagine e basta allora hai un'unica password per tutte le pagine e per modificarla devi cambiare l'if in quel file. Se invece vuoi avere password diverse devi modificare il codice per trasformarlo in una funzione e chiamarla nelle pagine che vuoi proteggere. La differenza tra 'include' e 'require' è che se usi 'include' e per qualche motivo fallisce(non trova il file, magari lo sposti e dimentichi di aggiornare una pagina) PHP va avanti e mostra la pagina mentre con require non va avanti e se succede la pagina mostrerà un errore(500: Server error). Io ti direi di usare 'require', non hai nessun vantaggio ad usare 'include' poi.
Comunque, questa è una protezione molto banale: non protegge da brute force, se uno ti entra nel server vede la password in chiaro e probabilmente ha altre falle che non conosco. Però dovrebbe bloccare il 99% delle persone, a meno che tu non stia nascondendo segreti nucleari sul sito