Cookies ή SESSION στο login?

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
unknown25
Δημοσιεύσεις: 43
Εγγραφή: 07 Μάιος 2009 23:01

Cookies ή SESSION στο login?

Δημοσίευση από unknown25 » 15 Νοέμ 2010 23:02

Καλησπερίζω το φόρουμ! Είμαι αρχάριος στην php και για εξάσκηση έχω φτιάξει ενα signup script (ας το πούμε έτσι). Έχω έτοιμο και το login αλλά δεν ξέρω τί γίνεται με τα cookies και το session. Τί πρέπει να κάνω για να φτιάξω ενα members only area? Όταν βάζει σωστά τα στοιχεία αυτό που κάνει είσοδο, να το κάνω να δημιουργείται ενα cookie? Είναι ασφαλές τα cookies? Όποιος μπορεί ας δώσει τα φώτα του. Ευχαριστώωω

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Cookies ή SESSION στο login?

Δημοσίευση από cpulse » 15 Νοέμ 2010 23:12

Τα cookies δεν είναι ασφαλή. Μεταφέρονται από τον browser του χρήστη. Γι αυτό σηνήθως χρησιμοποιούμε session variables. Στα cookies συνήθως βάζουμε κωδικοποιημένα tokens για να γίνεται αυτόματο login. Σε καμία περίπτωση δεν σώζουμε passwords μέσα σε cookies.

unknown25
Δημοσιεύσεις: 43
Εγγραφή: 07 Μάιος 2009 23:01

Cookies ή SESSION στο login?

Δημοσίευση από unknown25 » 15 Νοέμ 2010 23:43

μήπως μπορείς να μου εξηγήσεις τί ακριβώς να κάνω; για τί πράγμα να χρησιμοποιήσω τα cookies και για τί το session και πώς (ενα παράδειγμα). :D

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Cookies ή SESSION στο login?

Δημοσίευση από cpulse » 16 Νοέμ 2010 00:31

Πρώτα πρέπει να καταλάβεις πως λειτουργεί το web. Υπάρχει ο browser και ο server. Όταν καλούμε μια σελίδα ο browser επικοινωνεί με τον server και μετά η σύνδεση κλείνει. Δεν λειτουργεί σαν το IRC, ή το Skype ή το MSN που είναι συνεχώς συνδεδεμένα.

Για αυτό υπάρχουν τρόποι να θυμάται ο server τον κάθε browser. Οι servers δημιουργούν sessions και κρατάνε δεδομένα στην πλευρά τους, συνήθως για 15 λεπτά. Μετά τα δεδομένα σβήνουν.

Διάβασε εδώ για περισσόερα
http://gr.php.net/manual/en/session.examples.basic.php

Οι browsers χρησιμοποιούν τα cookies, τα οποία αποθηκεύονται στο pc του χρήστη. Κι αυτά έχουν ημερομηνία λήξης η οποία ορίζεται από τον προγραμματιστή του site. Αλλά συνήθως κρατάνε πολύ περισσότερο από τα sessions. Όμως επειδή μεταφέρονται ΚΑΘΕ φορά που ο browser επικοινωνεί με τον server, και επίσης επειδή ο χρήστης μάλλον έχει windows το οποίο έχει ιούς, τα θεωρούμε επισφαλή.

Διάβασε εδώ περισσότερα
http://gr.php.net/manual/en/features.cookies.php

Ένα συνηθησμένο cookie που στέλνεται αυτόματα είναι το PHPSESSID το οποίο θυμήζει στον server ποιο είναι το session που πρέπει να ενεργοποιήσει για τον browser που γίνεται η κλήση.

Ένα άλλο πιο απλό παράδειγμα είναι πχ ένα cookie που θυμίζει στον server τι μέγεθος γράμματα να χρησιμοποιεί, ή ποιο skin να εμφανίζει.

Τώρα τελευταία με την HTML 5 υπάρχει και ένα νέο είδος πληροφορίων, το local storage. Αλλά μάθε πρώτα καλά τα sessions και cookies και μετά το μαθαίνεις κι αυτό.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης