-
Path
Nel mese di novembre un simpaticone ha pensato bene di smanettare sul mio sito e, senza far danni, mi ha lasciato un messaggio, ripetuto più volte, nei log
c'è riuscito scrivendo, ad esempio, una cosa così
http://www.alexkidd.altervista.org/b...unsafe__site__
Nelle mie pagine web uso sempre path relativi e questa cosa (che non avevo previsto) ha inevitabilmente alterato la pagina privandola del foglio di stile con tutti i suoi elementi grafici.
Una soluzione è usare dei path assoluti, ma io che, per vari motivi che non sto qui ad elencare, vorrei mantenere i percorsi relativi e mi/vi chiedo:
Esiste un meccanismo che impedisca questo giochino ? usando htaccess magari o qualche sequenza di istruzioni in php in grado di rilevare il tentativo di accedere ad un file come se questo fosse una directory, cosi da forzarne il redirect ?
Edit:
Quando avete finito di divertirvi inserendo gli input più strani datemi anche qualche consiglio :lol:
RiEdit:
È inutie che cerchiate una vulnerabilità, il browser cerca i file delle risorse credendo che la root sia /brs.php/, non c'è modo di inoculare una stringa php/html/javascript nel codice della pagina o di interferire con il database
-
Dopo il nome del file (.php), la parte che inizia per "/" prende il nome di PATH_INFO.
PHP conserva questo valore all'interno di $_SERVER['PATH_INFO'], quindi puoi fare alcuni controlli su questa variabile: se è impostata e contiene qualcosa, fai un redirect alla pagina priva di questa stringa.
In htaccess, invece, il valore è nella variabile %{PATH_INFO}.
Puoi lanciare un errore 404 per esempio:
Codice:
RewriteEngine On
RewriteBase /
RewriteCond %{PATH_INFO} .
RewriteRule . - [L,R=404]
-
Questa variabile globale di php mi era sfuggita
ho usato $_SERVER['PATH_INFO'] per un redirect brutale alla pagina not_found.php
per ora mi accontento di questa soluzione, più in là si vedrà
Grazie