htaccess [UserAgent]: Κάντε μια συγκεκριμένη ενέργεια ανάλογα με το UserAgent του χρήστη

Πριν από πολύ καιρό έβαλα δύο άρθρα .htaccessκαι αφού έχει περάσει λίγο, θα ανανεώσω λίγο τη βάση:

Τι είναι το htaccess;

Σε κάθε φάκελο που έχουμε μοιραστεί (φιλοξενείται) μπορούμε να βάλουμε ένα αρχείο .htaccess (παρατηρήστε την περίοδο στην αρχή του ονόματος, αυτό δείχνει ότι είναι κρυμμένο). Αυτό το αρχείο θα είναι η αστυνομία μας για την κλήση του με κάποιο τρόπο, γιατί σε αυτό μπορούμε να γράψουμε κανόνες ή κανόνες που θα μας βοηθήσουν να χειριστούμε / διαχειριστούμε την πρόσβαση στον ίδιο φάκελο όπου βρίσκεται το αρχείο, στο φάκελο και τα αρχεία (και υποφακέλους) που είναι ίδιο περιέχω.

Με απλά λόγια. Αν έχω το φάκελο "/δοκιμή/", Κάνοντας χρήση ενός .htaccess Μπορώ να διαμορφώσω σε ποιες IP θέλω να έχουν πρόσβαση και σε ποιες όχι, να διαμορφώσω αν θέλω ότι όταν κάποιος εισέλθει σε αυτόν το φάκελο θα ανακατευθύνει αυτόματα σε άλλο ιστότοπο και ΠΟΛΥ μακρύ κλπ.

Συνιστώ πραγματικά να διαβάσετε τα δύο προηγούμενα άρθρα:

Ας προχωρήσουμε σε αυτό που θα αναφερθώ συγκεκριμένα σε αυτήν την ανάρτηση.

Βοηθητικό πρόγραμμα No.1

Αυτό που θέλουμε να κάνουμε είναι:

  1. Εάν ένας χρήστης χρησιμοποιεί Internet Explorer μην ανοίξετε τον ιστότοπο, στον οποίο ανακατευθύνεστε ιστότοπος του Firefox για να εγκατασταθεί ένα πραγματικό πρόγραμμα περιήγησης.

Γνωρίζοντας ότι το πράκτορας χρήστη που ταυτοποιεί Internet Explorer είναι: MSIE

Έχουμε ήδη όλα όσα χρειαζόμαστε 🙂

Η λογική λειτουργίας θα ήταν:

  1. Προσδιορίστε εάν ο χρήστης χρησιμοποιεί IE ή όχι.
  2. Εάν χρησιμοποιήσετε το IE δεν θα σας δείξει τον ιστότοπο, αντί να το κάνετε αυτό που θα συμβεί είναι ότι θα ανοίξει τον ιστότοπο Mozilla.
  3. Εάν δεν χρησιμοποιείτε το IE θα ανοίξει τον ιστότοπό μας χωρίς προβλήματα.

Για να το επιτύχουμε αυτό πρέπει να βάλουμε το αρχείο .htaccess (αν δεν υπάρχει, να το δημιουργήσουμε) τις ακόλουθες γραμμές:


RewriteEngine Ενεργοποιημένο
RewriteCond% {HTTP_USER_AGENT} ^. * MSIE. * $ [NC] RewriteRule. * Http://www.mozilla.org/en-US/firefox/new/

Και αυτό είναι, τόσο απλό.

Με αυτές τις γραμμές αυτό που υποδεικνύουμε είναι:

  1. Εάν η μονάδα mod_rewrite είναι ενεργή:
  2. Ξεκινήστε τη μηχανή επανεγγραφής και:
  3. Εάν πληρούται η συνθήκη που κάπου στο UserAgent περιέχει MSIE τότε:
  4. Εφαρμόστε τον κανόνα: ανακατεύθυνση του χρήστη στον ιστότοπο - »http://www.mozilla.org/en-US/firefox/new/
  5. Τελείωσε τώρα, σταματήστε να χρησιμοποιείτε τη μονάδα mod_rewrite

Προφανώς μπορούν να αλλάξουν τη διεύθυνση στην οποία θα μεταφερθεί ο χρήστης, αυτό είναι μόνο ένα παράδειγμα.

Τώρα πηγαίνουμε με ένα άλλο βοηθητικό πρόγραμμα ... 😉

Βοηθητικό πρόγραμμα No.2

Για παράδειγμα, θέλουμε να βάλουμε κάποιο περιεχόμενο στο Διαδίκτυο σε ένα φάκελο στον διακομιστή ιστού μας, αλλά θέλουμε μόνο ορισμένα άτομα να έχουν πρόσβαση σε αυτό, μπορούμε να προστατεύσουμε το φάκελο με κωδικό πρόσβασης χρησιμοποιώντας το Apache, ναι, αλλά αν δεν θέλουμε να περιπλέξουμε τόσο πολύ ... μπορούμε:

  1. Διαβάστε το UserAgent του χρήστη.
  2. Εάν το UserAgent έχει τη λέξη "topsecret" κάπου:
  1. Αφήστε τον να έχει πρόσβαση στο φάκελο
  • Εάν το UserAgent ΔΕΝ έχει τη λέξη "topsecret" οπουδήποτε:
  1. Εμφάνιση σημείου απόρριψης πρόσβασης.

Για να επιτευχθεί αυτό, ο κωδικός είναι εξαιρετικά παρόμοιος με τον προηγούμενο… η κύρια παραλλαγή είναι το θαυμαστικό «!»Στη γραμμή επαλήθευσης UserAgent:


RewriteEngine Ενεργοποιημένο
RewriteCond% {HTTP_USER_AGENT}! ^. * Topsecret. * $ [NC] RewriteRule. * Http://www.google.com

Εδώ δεν υπάρχουν πολλά να εξηγήσουμε γιατί ήδη εξήγησα το προηγούμενο, όπως έχω ήδη πει, αυτό έχει ως κύρια διαφορά το θαυμαστικό, που σημαίνει:

  • Εάν ΔΕΝ περιέχει το topsecret κάπου στο UserAgent ...

Λοιπόν αυτό είναι προς το παρόν 😀

Ελπίζω ότι ήταν χρήσιμο, υπάρχουν ακόμη πολλά να συζητήσουμε .htaccess, Έχω ακόμα πολλά να μάθω 🙂
αφορά


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   k301 dijo

    Δεν ξέρω αν θα σχολιάσω αυτό, απλώς προσθέστε ότι στο blackhat του 2012 αναφέρθηκε μια ευπάθεια htaccess. Στο dragonjar περιγράφουν τα πάντα πολύ καλά και εξηγούν πώς να το διορθώσουν σε περίπτωση που κάποιος ενδιαφέρεται:

    Σύνδεσμος

    1.    Μάρτιν dijo

      @KZKG πολύ καλή συνεισφορά, εξαιρετική.
      @ k3D1 Θυμήθηκα αμέσως την ευπάθεια, αλλά δεν ήμουν σίγουρος για το τι ήταν (τα γερμανικά θα με επισκεφθούν !; Theck!).
      Ευχαριστώ για τον σύνδεσμο!

      1.    KZKG ^ Γκάρα dijo

        Ευχαριστώ, δεδομένου ότι δεν συνεισφέρω από την άποψη των ειδήσεων, προσπαθώ να συνεισφέρω όσον αφορά πιο τεχνικά πράγματα 🙂

    2.    KZKG ^ Γκάρα dijo

      Ευχαριστώ, δεν το ήξερα για αυτό 😉

  2.   k301 dijo

    Έχω δημοσιεύσει ένα σχόλιο πριν, αλλά προφανώς δεν έχει δημοσιευτεί. Τέλος πάντων, το επαναλαμβάνω για όσους ενδιαφέρονται, είναι μια δημοσίευση στο dragonjar για να αποφευχθεί μια ευπάθεια htaccess:
    http://www.dragonjar.org/htexploit-herramienta-para-saltar-proteccion-con-archivos-htaccess.xhtml

    1.    KZKG ^ Γκάρα dijo

      Συγγνώμη, το φίλτρο anti-SPAM κάνει μερικές φορές πράγματα που δεν καταλαβαίνω, υπήρχαν κάποια σχόλια SPAM στην ουρά χωρίς προφανή λόγο, τα έχω ήδη εγκρίνει.
      Συγγνώμη ξανά.

      1.    k301 dijo

        Κανένα πρόβλημα, είναι πάντα καλό ότι τα σχόλια που περιέχουν συνδέσμους πρέπει να εγκριθούν, η σύγχυση μου προήλθε από το πώς ο πρώτος σας έστειλε με μια ετικέτα html, νόμιζα ότι υπήρξε κάποιο πρόβλημα.

        Και τίποτα, κουράγιο με τις τεχνικές δημοσιεύσεις που είναι πολύ καλές, σε αυτό το blog έχω βρει πολύ εξαιρετικό υλικό.

  3.   Έλινξ dijo

    Προστέθηκε στα Αγαπημένα!

    1.    KZKG ^ Γκάρα dijo

      ^ - ^

  4.   Xavier dijo

    Γεια σας,
    Πώς θα μπορούσα να κάνω το ίδιο όπως εξηγείτε για τον Firefox αλλά για τον Internet Explorer

    1.    KZKG ^ Γκάρα dijo

      Δεν κατάλαβα τι θέλετε να κάνετε.