Page 1 of 1

Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 2:18 pm
by rapadder
Σε μια εφαρμογή που φτιάχνω δεν θέλω να μπορεί ο χρήστης βλέπει το url της εκάστοτε σελίδας στον browser. Για παράδειγμα η εφαρμογή ξεκινάει από μια σελίδα τύπου login:

1. http://localhost:8084/MyApp/Login.jsp

Μόλις ο χρήστης κάνει login, κατευθύνεται σε μια άλλη σελίδα page1.jsp:

2. http://localhost:8084/MyApp/faces/Page1.jsp

Αυτό που θα ήθελα είναι:

Να μην μπορεί ο χρήστης να γράφει απ'ευθείας http://localhost:8084/MyApp/faces/Page1.jsp και να βλέπει την σελίδα. Αυτό μπορώ να το λύσω με το να εξετάζω μια request παράμετρο (fromLogin) που θα στέλνει η Login.jsp στην Page1.jsp εάν είναι null ή όχι. Έτσι το url της δεύτερης σελίδας θα είναι:

http://localhost:8084/MyApp/faces/Page1 ... Login=true

ενώ θα κατευθύνεται στην πρώτη σελίδα από ένα link του τύπου: /Login.jsp?fromLogin=true

Τώρα όμως δεν θα θέλω ο χρήστης να πληκτρολογεί απ' ευθείας http://localhost:8084/MyApp/faces/Page1 ... Login=true και να βλέπει την σελίδα (παρακάμπτοντας το login). Νομίζω ότι η μια λύση είναι:

1. Με JavaScript να ανοίγω στην σελίδα σε νέο παράθυρο στο οποίο δεν θα φαίνεται το address bar. Δεν θα ήθελα να χρησιμοποιήσω αυτήν την λύση.

2. Απλά να κάνω κάποιου είδους URL Masking ώστε να βλέπεις στον browser μια διεύθυνση (π.χ. http://localhost:8084/MyApp/) και να μην φαίνεται η εκάστοτε (για να μπορέσει κάποιος να την αναπαράγει). Καμιά ιδέα; Βρήκα ένα σχετικό άρθρο αλλά θα ήθελα προτάσεις σχετικά με το όλο concept.

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 2:39 pm
by rapadder
Το έλυσα χρησιμοποιώντας το frameset tag που περιγράφεται στο άρθρο.

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 4:07 pm
by Ισοβίτης
Νομίζω ότι θα ήταν πιο ορθόδοξο να γίνεται έλεγχος αν ο χρήστης είναι logged in παρά απόκρυψη του URL. Κάποια display condition δηλαδή.

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 4:23 pm
by The Punisher
cookies :smt017

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 5:34 pm
by netharis
Ο πιο σωστός τρόπος να κάνεις κάτι τέτοιο είναι να χρησιμοποιήσεις URL Rewriting (mod_rewrite @ Apache).
Tώρα με Tomcat, δεν είμαι σίγουρος, αλλα πιστεύω πως γίνεται.

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 5:57 pm
by Ισοβίτης
netharis wrote:Ο πιο σωστός τρόπος να κάνεις κάτι τέτοιο είναι να χρησιμοποιήσεις URL Rewriting (mod_rewrite @ Apache).
Tώρα με Tomcat, δεν είμαι σίγουρος, αλλα πιστεύω πως γίνεται.
Νομίζω ότι είναι λάθος πρακτική για το σκοπό που το χρειάζεται ο rapadder. To URL Rewriting αλλάζει το URL (για λόγους SEO, κλπ), αλλά αφενός δεν αλλάζει το περιεχόμενο της σελίδας και αφετέρου δεν νομίζω ότι αρμόζει για απαγόρευση πρόσβασης που οφείλεται σε ελλιπή δικαιώματα.

Προτείνω στην Page1.jsp να γίνεται έλεγχος αν ο χρήστης είναι logged in. Αν δεν είναι, τότε redirect στο login.jsp με return URL το Page1.jsp.

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 6:03 pm
by netharis
Ισοβίτης wrote:
netharis wrote:Ο πιο σωστός τρόπος να κάνεις κάτι τέτοιο είναι να χρησιμοποιήσεις URL Rewriting (mod_rewrite @ Apache).
Tώρα με Tomcat, δεν είμαι σίγουρος, αλλα πιστεύω πως γίνεται.
Νομίζω ότι είναι λάθος πρακτική για το σκοπό που το χρειάζεται ο rapadder. To URL Rewriting αλλάζει το URL (για λόγους SEO, κλπ), αλλά αφενός δεν αλλάζει το περιεχόμενο της σελίδας και αφετέρου δεν νομίζω ότι αρμόζει για απαγόρευση πρόσβασης που οφείλεται σε ελλιπή δικαιώματα.

Προτείνω στην Page1.jsp να γίνεται έλεγχος αν ο χρήστης είναι logged in. Αν δεν είναι, τότε redirect στο login.jsp με return URL το Page1.jsp.
Μy bad, μπερδεύτηκα απο το τίτλο. .htaccess then :-p

Re: Απόκρυψη url εφαρμογής στον browser

Posted: Sun Mar 28, 2010 6:08 pm
by Ισοβίτης
Σωστός!

Ή τροποποίηση του location στο web.config αν έχει IIS (αλλά μάλλον έχει Apache :-p ).