PDA

View Full Version : [WEB SERVER SIDE] oscurare l'url assoluto


sharkkk
10-12-2013, 14:19
Ciao a tutti,

sto iniziando a programmare server-side pero sto riscontrando un po di problemi.

esempio il client finisce in una pagina pippo.it/pluto.php, quello che io voglio invece č che lui veda come url solo pippo.it/pluto/ , mi potreste aiutare a capire come fare?


č possibile anche vietare l'accesso diretto da parte del client al file pluto.php nei casi non sia io, server, a indirizzarlo li?

Tuvok-LuR-
10-12-2013, 15:55
per gestire queste cose si utilizza il modulo url rewrite di Apache, inserendo la configurazione nel file .htaccess


http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/
To remove the .php extension from a PHP file for example yoursite.com/wallpaper.php to yoursite.com/wallpaper you have to add the following code inside the .htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

cosa intendi per vietare l'accesso?

sharkkk
10-12-2013, 16:15
grazie mille tuvok!

riguardo all'impedire l'accesso, non voglio che qualcuno possa accedere ad una determinata pagina senza essersi loggato.
Ho appena finito ora di creare il modulo di registrazione/login, e sto iniziando a gestire i cookie adesso.

Se non ho capito male, per verificare se un client puo o meno visitare una determinata pagina devo includere una funzione di controllo che controlla se esistono i cookie di login sulla macchina del client, č piu o meno cosi?

p.s. domanda da un milione di dollari, se io sapessi l'url assoluto di un file .php della microsoft, potrei scaricarlo e leggerlo oppure esiste un modo per impedire un accesso del genere?

Tuvok-LuR-
10-12-2013, 17:01
riguardo all'impedire l'accesso, non voglio che qualcuno possa accedere ad una determinata pagina senza essersi loggato.
Ho appena finito ora di creare il modulo di registrazione/login, e sto iniziando a gestire i cookie adesso.

Se non ho capito male, per verificare se un client puo o meno visitare una determinata pagina devo includere una funzione di controllo che controlla se esistono i cookie di login sulla macchina del client, č piu o meno cosi?
non proprio, devi utilizzare le sessioni.
puoi immaginare la sessione come un oggetto che risiede sul server su cui immagazzinare dati specifici per un visitatore, la sessione li manterrā finchč l'utente non chiude il browser.
I cookies sono invece utilizzati per memorizzare dati sul client, e vengono inviati al server per ogni richiesta. Risiedendo sul client possono benissimo essere contraffatti e non sono adatti per verificare privilegi di accesso.
Quello per cui vengono utilizzati principalmente č memorizzare le credenziali di login e fare in modo che tu non debba inviare il form di login ogni volta che vuoi iniziare una nuova sessione.
Quindi una volta verificate le credenziali del form e loggato l'utente imposti il fatto che č loggato nella sessione.
in base a questo parametro nella sessione farai vedere contenuto privilegiato o neghi l'accesso.

(in realtā, vista la natura stateless di http, le sessioni utilizzano proprio i cookies per funzionare, ma questo avviene in maniera completamente trasparente ed č il linguaggio a gestire il tutto, quindi non pensarci perchč aumenta solo la confusione :D. in parole povere, per creare un meccanismo di login/sessione, non hai alcun bisogno di utilizzare esplicitamente cookies)

p.s. domanda da un milione di dollari, se io sapessi l'url assoluto di un file .php della microsoft, potrei scaricarlo e leggerlo oppure esiste un modo per impedire un accesso del genere?
Dubito che usino php in Microsoft :p
Scherzi a parte, non scaricherai mai il file php stesso, quello che scarichi č sempre e solo puro e semplice html che il server ha generato processando il file php.
In parole povere non č il tuo browser che interpreta il php ma il server, il quale restituisce una risposta pari pari a quella che darebbe restituendo un file .htm statico.

grazie mille tuvok!
prego :D

sharkkk
11-12-2013, 09:01
grazie mille tuvok ancora, ho fatto diverse prove e l'utilizzo delle sessioni č veramente facile e intuitivo.

l'unico problema l'ho riscontrato con l'.htaccess che purtroppo nell'hostring gratuito che ho a disposizione non c'e.

conosci qualche buon sito di freehosting che ti permette di modificare anche il file .htaccess relativo al tuo host?

airon
11-12-2013, 09:24
Tutti gli host LINUX hanno la possibilitā di usare il file .htaccess.

Se non c'é il file (attento che č nascosto essendoci il punto davanti: quindi setta il tuo client FTPin modo da fargli visualizzare i file nascosti) lo puoi mettere tu.

sharkkk
11-12-2013, 09:50
grazie airon.

basta mettere quindi il file .htaccess nella cartella principale del web-server č giusto?

sharkkk
12-12-2013, 16:38
Tutti gli host LINUX hanno la possibilitā di usare il file .htaccess.

Se non c'é il file (attento che č nascosto essendoci il punto davanti: quindi setta il tuo client FTPin modo da fargli visualizzare i file nascosti) lo puoi mettere tu.

dove va messo esattamente il file .htacces sul server?
nella root directory?