ψάχνω μηχανή φιλικά PHP σελίδες

Zend τεχνολογικός Code γκαλερί προβολέας ψάχνω μηχανή φιλικά PHP σελίδες
τώρα ότι έχειs έναs καλύτερος κατανόηση του πρόβλημα, lets’ στρέφω το βλέμμα μου σε the λύση. μέσα διατάζω για έναs αράχνη σε τραβερτίνης ( και consequently index) έναs δίνω σελίδα, the URL μουστάκι να είμαι ελεύθερος του οποιοσδήποτε εμφάνιση του parameters. μα εάν έναs δίνω σελίδα χρειάζομαι parameters σε λειτουργώ πρέπων, what μπορώ να είμαι done? The απαντώ lies μέσα στο χρήση του $PATH_INFO περιβάλλον μεταβλητή, ο οποίος εσύ μπορείs μετατρέπω έναs URL από
http://www.zend.com/myscript.php?myvalueHello=

σε έναs αράχνη- φιλικά σχήμα:
http:/www.zend.com/myscript.php/myvalue/ γειά

/

ειδοποιητήριο ότι the αράχνη- φιλικά σχήμα περιέχω όχι ένδειξη ότι υπάρχουν οποιοσδήποτε parameters being επιβάτης σε όλος. Rather, αυτό απλά μοιάζει εμείs είμαστε trying σε προσέγγιση the κατάλογος επάνω σε zend.com site myscript.php/myvalue/ γειά, και οποιοσδήποτε ψάχνω μηχανή αράχνη ότι προσέγγιση the σελίδα wont’ έχω οποιοσδήποτε πρόβλημα επόμενος the URL. ακόμα στην πραγματικότητα εμείs είμαστε εκτελώντας the script myscript.php.

μα what συνέβη σε δικό σου parameters?
πωs σε αποκτώ δικό σου hidden δεδομένα

τώρα ότι έχειs επιτυχημένος hidden δικό σου parameters με what εμφανίζομαι σε να είμαι έναs κατάλογος κατασκευή, πωs κάνω you αποκτώ αυτούς έξω? οποτεδήποτε έναs PHP script is εκτέλεσα με επιπλέον παθητικός δεδομένα appended στο τέλοs του ονομασία αρχείου ( όπως εμείs έκανα μέσα στο αράχνη- φιλικά παράδειγμα επάνω), the Web υπηρετώ δημιουργώ έναs περιβάλλον μεταβλητή $PATH_INFO περιέχω this πληροφορία. εσύ μπορείs τότε προσέγγιση this περιβάλλον μεταβλητή διαμέσου PHP automatically, και μαϊντανός αυτό σε νέα δίκη δικός μας δεδομένα. So δικός μας νωρίτερα URL…

http:/www.zend.com/myscript.php/myvalue/ γειά

/

θα πληθυσμός the $PATH_INFO μεταβλητή με:

myvalue/ γειά

από ο οποίος εσύ μπορείs τότε μαϊντανός και νέα δίκη the επιβάτης πληροφορία.
Deciphering δικό σου δεδομένα

τώρα ότι you γνωρίζω πού δικό σου parameters είναι, the επόμενος σκαλί is σε decipher αυτούς into έναs σχήμα ότι PHP μπορώ χρήση. παρ΄ όλο που υπάρχει όχι χρειάστηκα μεθανόλη για doing this, άρρωστοsαναλαμβάνω ότι έχειs σχήμα δικό σου δεδομένα μέσα στο επόμενος δρόμος:

var_name/var_data/var2_name/var2_data/…

χρησιμοποιώνταs this μεθανόλη, όλος αυτό είναι όλο αριστερός is σε:

* παραβιάζω τον νόμο προμήθευσα κορδόνι κάθε στιγμή εμείs αντιμετωπίζω έναs slash (’/')
* δημιουργώ μεταβλητή σε συσχετίζω the δίνω όνομα (var_name, var2_name, etc.) με δικό τουs σεβασμός αξία (var_data, var2_data, etc.)

με όλοι this μέσα μυαλό, lets’ στρέφω το βλέμμα μου σε μερικά αληθινός code.
The script

όπως με πολλοί ισχυρός techniques, the code χρειάστηκα σε δημιουργώ this ικανότητα μέσα δικό σου scripts is όχι δύσκολος σε αναπτύσσω. The διαδικασία θεωρώ του traversing έναs τακτοποιώ βάση επάνω σε $PATH_INFO, και δημιουργώ μεταβλητή βάση σε εκείνο δεδομένα. τελικά, the αντικείμενο is σε παίρνω the URL…

http:/www.zend.com/myscript.php/myvalue/ γειά

/

τότε χρήση the δεδομένα προμήθευσα μέσα στο $PATH_INFO μεταβλητή σε construct αλληλογραφώ μεταβλητή:

$myvalue = “ γειά
Code ρέω

* ελέγχω για the ύπαρξη του $PATH_INFO
* διασπώ $PATH_INFO into έναs τακτοποιώ
* εάν the σύνολο αριθμόs του parameters is ισότιμος, προσθέτω έναs επιπλέον κενός element στο τέλος σε απλότητα the τραβερτίνης μέσα στο επόμενος σκαλί
* τραβερτίνης τακτοποιώ και δημιουργώ μεταβλητή βάση επάνω σε $PATH_INFO δεδομένα

ifissetPATH_INFO(($)) {

$vardata = σκάω(/', $PATH_INFO);

$num_param = countvardata($);

ifnum_param($ % 2 == 0) {

$vardata[] = '';
$num_param ;
}

for(var $i = 1; $i <$num_param; $i="2)" {

$$vardatai[$] = $vardatai[$ 1];
}
}

?>

αρχείο κάτωUncategorized |

αφήνω έναs απαντώ



παρακαλώ εισέρχομαι the code δείχνω υπό ( σε verify ότι εσύ είσαι human ) πριν you κλικ υποβάλλω σχόλιο.


προστάτευσα απόσχόλιο Guard Pro