Ho una pagina web che utilizza fondamentalmente la seguente struttura:
index.php
functions.php
pages/a.php
pages/b.php
...
Quando chiamo index.php, all'utente viene richiesto di accedere o viene effettuato l'accesso automaticamente da un id di sessione. index.php chiama pagine / a.php ecc. quando i clic nella navigazione sono fatti. index.php include functions.php, che esegue tutto il controllo di destra in has_rights (...).
Ogni file di pagine è un po 'come questo:
if(has_rights(...)) {
...
}
Ogni volta che apro $ url / pages / a.php su di esso, ottengo una pagina vuota e un messaggio di errore nel log che has_rights non è definito. All'esterno, questo messaggio non è visibile e non esiste un modo ovvio per ottenere i nomi di file nelle pagine. Inoltre, le pagine non dovrebbero essere chiamate da sole a causa di elementi di intestazione mancanti (CSS, Javascript, ...). È un pericolo e se sì, come potrebbe essere sfruttato?
Ogni file di pagine dovrebbe includere functions.php per il controllo dei diritti, e controllare separatamente se è chiamato da solo, o è sufficiente semplicemente fallire la compilazione e inviare una pagina vuota al browser?