Το δεύτερο επίπεδο είναι παρόμοιο με το πρώτο όπως θα δείτε και εσείς αλλά με μία μικρή διαφορά. Όπως αναφέρουμε σε όλα τα άρθρα αυτής της κατηγορίας, προσπαθήστε πρώτα να βρείτε μόνοι σας τη λύση προτού διαβάσετε το άρθρο αυτό. Μπορείτε να βρείτε το άρθρο μας για το προηγούμενο επίπεδο από τον παρακάτω σύνδεσμο.
Συνδεόμαστε στο επόμενο επίπεδο με τα στοιχεία πρόσβασης που ανακαλύψαμε στο προηγούμενο. Στη συνέχεια, βλέπουμε μία σελίδα παρόμοια με αυτή του προηγούμενου επιπέδου. Βλέπετε μία εικόνα της σελίδας αυτής παρακάτω.
Φυσικά, το πρώτο που θα κάνουμε είναι να δούμε τη σελίδα σε μορφή HTML όπως κάναμε και στο προηγούμενο επίπεδο για να καταλάβουμε το τι κάνει. Ωστόσο, αν πατήσουμε δεξί κλικ προκειμένου ώστε να επιλέξουμε από το μενού την εμφάνιση του κώδικα της, βλέπουμε αυτή τη προειδοποίηση που απαγορεύει την εκτέλεση της λειτουργίας του δεξί κλικ.
Αυτό γίνεται μέσω JavaScript. Η JavaScript είναι μία γλώσσα προγραμματισμού που κατασκευάστηκε το 1995 από την εταιρία Netscape. Το ιδιαίτερο χαρακτηριστικό αυτής της γλώσσας προγραμματισμού είναι ότι δεν εκτελείται στον εξυπηρετητή, αλλά στον υπολογιστή-πελάτη. Δηλαδή, μαζί με τη σελίδα σε μορφή HTML ο εξυπηρετητής στέλνει στον υπολογιστή μας και κάποιο κώδικα JavaScript τον οποίο εκτελεί ο περιηγητής πλοήγησης μας. Αυτό έχει σαφώς πλεονεκτήματα και μειονεκτήματα. Το μεγαλύτερο πλεονέκτημα είναι ότι δεν επιβαρύνει τον εξυπηρετητή και το χρόνο κατασκευής της σελίδας αλλά αντίστοιχα, το μεγαλύτερο μειονέκτημα είναι ότι καθώς εκτελείται από τη πλευρά του πελάτη, ο εξυπηρετητής δε μπορεί ποτέ να είναι σίγουρος ότι εκτελέστηκε όπως πρέπει καθώς δεν έχει άμεσο έλεγχο στην εκτέλεση της.
Ακόμα και με αυτό το περιορισμό, υπάρχουν τουλάχιστον δύο τρόποι να δούμε τη σελίδα σε μορφή HTML. Ο πιο απλός, είναι αντί για δεξί κλικ να χρησιμοποιήσουμε τη συντόμευση CTRL+U που προσφέρει την ίδια ακριβώς λειτουργία. Προφανώς, αυτό θα μας δείξει αυτό που θέλουμε και όπως βλέπετε παρακάτω, και σε αυτή τη περίπτωση ο κωδικός του επόμενου επιπέδου είναι κρυμμένος σε ένα σχόλιο μέσα στην HTML της σελίδας.
Ο δεύτερος τρόπος είναι απενεργοποιώντας την εκτέλεση της JavaScript στο πρόγραμμα πλοήγησης μας. Ανάλογα με το πρόγραμμα περιήγησης ιστού που χρησιμοποιείτε αυτό θα διαφέρει αλλά καθώς οι περισσότεροι χρήστες του διαδικτύου χρησιμοποιούν Firefox, θα δείξουμε αυτό το παράδειγμα. Μπορείτε να εγκαταστήσετε στο Firefox τη μπάρα προγραμματιστή ιστού. Ανάμεσα στις άλλες επιλογές της, αυτή η μπάρα έχει και την επιλογή απενεργοποίησης της JavaScript με ένα κλικ.
Έχοντας απενεργοποιημένη τη JavaScript, μπορούμε να πατήσουμε δεξί κλικ και να δούμε το περιεχόμενο όπως ακριβώς κάναμε και στο προηγούμενο επίπεδο. Επίσης, καθαρά για θέμα πληρότητας του άρθρου, ας δούμε πως αυτός ο κώδικας JavaScript απενεργοποιεί το δεξί κλικ όταν εκτελείται. Από τη σελίδα σε μορφή HTML βλέπουμε το παρακάτω.
<body oncontextmenu="javascript:alert('right clicking has been blocked!');return false;">
Αυτό είναι ένας συνδυασμός από HTML και JavaScript. Η ετικέτα (tag) «body» είναι HTML και ορίζει το περιεχόμενο από το κυρίως σώμα της σελίδας. Βέβαια, σε αυτή τη περίπτωση βλέπουμε ότι το μόνο που ορίζει είναι ότι το «oncontextmenu» ισούται με κάποιο κώδικα σε JavaScript. Όταν ο περιηγητής μας εκτελεί κώδικα JavaScript έχει μία σειρά από γεγονότα όπως την κίνηση του ποντικιού, τη πληκτρολόγηση, κτλ. Ένα από αυτά τα γεγονότα (events) είναι και το «oncontextmenu», δηλαδή αν προσθέσουμε κενά, «on context menu» (μέσα στο μενού περιεχομένων). Όταν ο περιηγητής αντιληφθεί ότι ο χρήστης προσπαθεί να ανοίξει το μενού περιεχομένων θα εκτελέσει οτιδήποτε έχει οριστεί σε αυτό το event. Σε αυτή τη περίπτωση, θα εκτελέσει τον εξής κώδικα JavaScript όπως βλέπουμε από το παραπάνω απόσπασμα.
javascript:alert('right clicking has been blocked!'); return false;
Το Ελληνικό ερωτηματικό χρησιμοποιείται ως διαχωριστικό ανάμεσα σε εντολές της γλώσσας. Άρα εδώ, έχουμε δύο εντολές. Η πρώτη είναι η javascript:alert() η οποία πρακτικά λέει: Από τη γλώσσα προγραμματισμού JavaScript κάλεσε τη συνάρτηση alert() και ως παράμετρο δώσε της το κείμενο «right clicking has been blocked!». Η συνάρτηση alert() το μόνο που κάνει είναι να εμφανίζει ένα παραθυράκι με ότι περιεχόμενο της έχει οριστεί. Η δεύτερη εντολή διατάζει το πρόγραμμα να επιστρέψει (return) από εκεί όπου κλήθηκε δίνοντας το αποτέλεσμα «false», δηλαδή ότι απέτυχε η εκτέλεση. Με αυτό το τρόπο απλώς θα εμφανιστεί το ακόλουθο παράθυρο χωρίς να προχωρήσει και στο άνοιγμα του μενού περιεχομένων.
Σίγουρα και αυτό ήταν ένα εύκολο επίπεδο αλλά μας έμαθε μερικά ακόμα πράγματα και ήταν ελαφρώς δυσκολότερο από το προηγούμενο. Όπως είπαμε από την αρχή, τα επίπεδα έχουν σταδιακή δυσκολία και αυτό το βλέπετε και από αυτό το επίπεδο.
Natas
#Πολεμικά #Παίγνια #OTW #Natas