[php] εμφανιση συνενδεμενου username με sessions

...IDE, compilers, κλπ

Συντονιστής: konnn

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό koslibpro » 17 Ιουν 2012, 21:10

για το Login.php ομως ακομα ισχυει το οτι τα βγαζει ολα ως λαθος,ακομη και σωστα στοιχεια να εισαγω..
το register.php τα περναει σωστα αποτι φαινεται μεχρι τωρα τα στοιχεια..
Spoiler: show
1 Γνώσεις → Linux: Χαμηλό>Μεσαίο┃ Προγραμματισμός: PHP,C ┃ Αγγλικά: Proficiency
2 Λειτουργικό → Ubuntu 13.04 precise 32-bit (en_US.UTF-8)
3 Προδιαγραφές → CPU: i3-2310M 2.1Ghz ‖ RAM 4Gb
4 Κάρτες γραφικών: NVidia GeForce GT 540M 1Gb

Personal blog - website
Άβαταρ μέλους
koslibpro
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 356
Εγγραφή: 12 Μάιος 2011, 16:37
Τοποθεσία: Piraeus
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό parenthesis » 17 Ιουν 2012, 21:22

Τι τύπο έχεις ορίσει στο πεδίο password της βάσης σου; Επειδή αυτό που παράγει η συνάρτηση hash() είναι αρκετά μεγάλο, καλό θα ήταν να το βάλεις VARCHAR(100).
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Πολύ καλό
2 Dual boot:
  • Ubuntu 13.04 raring 3.8.0-34-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic
  • Fedora 19 Schrödinger’s Cat 3.13.5-101.fc19.x86_64 64bit (el_GR.utf8, gnome)
3 Intel Core i5-3337U CPU @ 1.80GHz ‖ RAM 3844 MiB ‖ TOSHIBA VCUAA - TOSHIBA SATELLITE U940
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 eth0: Realtek RTL8101E/RTL8102E Ethernet [10ec:8136] (rev 05) ⋮ wlan0: Intel Centrino Wireless-N 2230 [8086:0887] (rev c4)
Άβαταρ μέλους
parenthesis
punkTUX
punkTUX
 
Δημοσιεύσεις: 150
Εγγραφή: 06 Οκτ 2009, 22:47
Launchpad: mara_sdr
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό koslibpro » 17 Ιουν 2012, 21:41

parenthesis έγραψε:Τι τύπο έχεις ορίσει στο πεδίο password της βάσης σου; Επειδή αυτό που παράγει η συνάρτηση hash() είναι αρκετά μεγάλο, καλό θα ήταν να το βάλεις VARCHAR(100).

καλα τωρα τι να πω...ευτυχως που το σκεφτηκες φιλε μου!!!αυτο εφταιγε...τωρα λειτουργει κανονικοτατα!(μεχρι ωρας παντα,ετσι ελεγα και πριν :P)
σε ευχαριστω πολυ για ολο τον κοπο κια τον χρονο σου!

υγ:παταω το πρασινο βελακι,με option να το ξε-πατησω καποια στιγμη μελλοντικα :P

και παλι ευχαριστω!
Spoiler: show
1 Γνώσεις → Linux: Χαμηλό>Μεσαίο┃ Προγραμματισμός: PHP,C ┃ Αγγλικά: Proficiency
2 Λειτουργικό → Ubuntu 13.04 precise 32-bit (en_US.UTF-8)
3 Προδιαγραφές → CPU: i3-2310M 2.1Ghz ‖ RAM 4Gb
4 Κάρτες γραφικών: NVidia GeForce GT 540M 1Gb

Personal blog - website
Άβαταρ μέλους
koslibpro
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 356
Εγγραφή: 12 Μάιος 2011, 16:37
Τοποθεσία: Piraeus
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό Αποστόλης » 17 Ιουν 2012, 22:41

1. Για sha256 μπορείς να βάλεις πεδίο varchar(64) ή char(64) ή binary(32)
Καλύτερα από όλα το varchar.

2.
Κώδικας: Επιλογή όλων
$password = hash("sha256", $_POST['password']);
κάντο
Κώδικας: Επιλογή όλων
$password = sha256($_POST["password"]);


3.
Κώδικας: Επιλογή όλων
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));


Εδώ του λές να βρει οτιδήποτε ταιριάζει με αυτά που πληκτρολογείς. Το % είναι wild charachter για την php.
Εκτός κι αν αυτό είναι αυτό που θέλεις.
Επίσης, μην μπλέκεσαι πολύ.
Βάλε
Κώδικας: Επιλογή όλων
$username = trim (mysql_real_escape_string ($_POST["username"]) );
$password = sha256 (trim (mysql_real_escape_string ($_POST["password"]) ) );
$query = sprintf("SELECT * FROM users WHERE username='".$username."' and password='".$password."');

Απλοίησε τα πράγματα για να μπορείς να βγάλεις ευκολότερα άκρη.

4. Κοίτα, δεν ξέρω πολλά από php/mysql, αλλά εδώ λέει ότι υπάρχει και η σύνταξη INSERT INTO ... SET... . Οπότε κάπου αλλού είναι το πρόβλημα...

Μην μπερδεύεσαι. Δεν σου είπα οτι εκεί είναι το πρόβλημα αλλά οτι αυτή η σύνταξη δεν είναι αυτή που χρειάζεσαι.
Και καλό είναι να μην τη μάθεις γιατί μπορεί να μπλεχτείς αν χρησιμοποιείς πάντα αυτή. Για παράδειγμα δεν μπορείς να την χρησιμοποιήσεις για να βάλεις πολλά rows με ένα query.
Οπότε θεώρησε πως...δεν υπάρχει.
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό parenthesis » 17 Ιουν 2012, 22:47

Αποστόλης έγραψε:
4. Κοίτα, δεν ξέρω πολλά από php/mysql, αλλά εδώ λέει ότι υπάρχει και η σύνταξη INSERT INTO ... SET... . Οπότε κάπου αλλού είναι το πρόβλημα...

Μην μπερδεύεσαι. Δεν σου είπα οτι εκεί είναι το πρόβλημα αλλά οτι αυτή η σύνταξη δεν είναι αυτή που χρειάζεσαι.
Και καλό είναι να μην τη μάθεις γιατί μπορεί να μπλεχτείς αν χρησιμοποιείς πάντα αυτή. Για παράδειγμα δεν μπορείς να την χρησιμοποιήσεις για να βάλεις πολλά rows με ένα query.
Οπότε θεώρησε πως...δεν υπάρχει.


Α, οκ. Φχαριστώ για τη διευκρίνιση. :thumbup:
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Πολύ καλό
2 Dual boot:
  • Ubuntu 13.04 raring 3.8.0-34-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic
  • Fedora 19 Schrödinger’s Cat 3.13.5-101.fc19.x86_64 64bit (el_GR.utf8, gnome)
3 Intel Core i5-3337U CPU @ 1.80GHz ‖ RAM 3844 MiB ‖ TOSHIBA VCUAA - TOSHIBA SATELLITE U940
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 eth0: Realtek RTL8101E/RTL8102E Ethernet [10ec:8136] (rev 05) ⋮ wlan0: Intel Centrino Wireless-N 2230 [8086:0887] (rev c4)
Άβαταρ μέλους
parenthesis
punkTUX
punkTUX
 
Δημοσιεύσεις: 150
Εγγραφή: 06 Οκτ 2009, 22:47
Launchpad: mara_sdr
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό koslibpro » 17 Ιουν 2012, 23:08

Αποστόλης έγραψε:1. Για sha256 μπορείς να βάλεις πεδίο varchar(64) ή char(64) ή binary(32)
Καλύτερα από όλα το varchar.

2.
Κώδικας: Επιλογή όλων
$password = hash("sha256", $_POST['password']);
κάντο
Κώδικας: Επιλογή όλων
$password = sha256($_POST["password"]);


3.
Κώδικας: Επιλογή όλων
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));


Εδώ του λές να βρει οτιδήποτε ταιριάζει με αυτά που πληκτρολογείς. Το % είναι wild charachter για την php.
Εκτός κι αν αυτό είναι αυτό που θέλεις.
Επίσης, μην μπλέκεσαι πολύ.
Βάλε
Κώδικας: Επιλογή όλων
$username = trim (mysql_real_escape_string ($_POST["username"]) );
$password = sha256 (trim (mysql_real_escape_string ($_POST["password"]) ) );
$query = sprintf("SELECT * FROM users WHERE username='".$username."' and password='".$password."');

Απλοίησε τα πράγματα για να μπορείς να βγάλεις ευκολότερα άκρη.

4. Κοίτα, δεν ξέρω πολλά από php/mysql, αλλά εδώ λέει ότι υπάρχει και η σύνταξη INSERT INTO ... SET... . Οπότε κάπου αλλού είναι το πρόβλημα...

Μην μπερδεύεσαι. Δεν σου είπα οτι εκεί είναι το πρόβλημα αλλά οτι αυτή η σύνταξη δεν είναι αυτή που χρειάζεσαι.
Και καλό είναι να μην τη μάθεις γιατί μπορεί να μπλεχτείς αν χρησιμοποιείς πάντα αυτή. Για παράδειγμα δεν μπορείς να την χρησιμοποιήσεις για να βάλεις πολλά rows με ένα query.
Οπότε θεώρησε πως...δεν υπάρχει.

1)σε ευχαριστουμε για τις διευκρινισεις:)
2)το εκανα αυτο που μου ειπες,ομως μου γυρισε αυτο>>Fatal error: Call to undefined function sha256()
3)επηρεαζει αυτο καπως την δουλεια που το θελω ? νομιζω πως οχι..μηπως κανω λαθος?εμαθα προσφατα την sprintf και ακομα ισως να μην ξερω καλα την λειτουργια της..
Spoiler: show
1 Γνώσεις → Linux: Χαμηλό>Μεσαίο┃ Προγραμματισμός: PHP,C ┃ Αγγλικά: Proficiency
2 Λειτουργικό → Ubuntu 13.04 precise 32-bit (en_US.UTF-8)
3 Προδιαγραφές → CPU: i3-2310M 2.1Ghz ‖ RAM 4Gb
4 Κάρτες γραφικών: NVidia GeForce GT 540M 1Gb

Personal blog - website
Άβαταρ μέλους
koslibpro
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 356
Εγγραφή: 12 Μάιος 2011, 16:37
Τοποθεσία: Piraeus
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό medigeek » 17 Ιουν 2012, 23:15

Αποστόλης έγραψε:
Κώδικας: Επιλογή όλων
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));


Εδώ του λές να βρει οτιδήποτε ταιριάζει με αυτά που πληκτρολογείς. Το % είναι wild charachter για την php.
Εκτός κι αν αυτό είναι αυτό που θέλεις.

μήπως εννοείς το wildcard character για mysql;
Σ' αυτή την περίπτωση το %s αντικαθίσταται στην εντολή sprintf.. τουλάχιστον νομίζω πως αυτό κάνει.
Προτιμώ την απλοποίηση που έκανες, αλλά πιστεύω πως δεν υπάρχει λόγος να χρησιμοποιήσει το sprintf αφού δεν κάνει χρήση του %s, %d κτλ. :)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό koslibpro » 17 Ιουν 2012, 23:20

εχω την εντυπωση οτι δεν κανει ακριβως αυτο..

ας μας πεις καποιος που γνωριζει καλυτερα..θα ψαξω κι εγω για κανα Link να δουμε τι παιζει με αυτο τελικα..
Spoiler: show
1 Γνώσεις → Linux: Χαμηλό>Μεσαίο┃ Προγραμματισμός: PHP,C ┃ Αγγλικά: Proficiency
2 Λειτουργικό → Ubuntu 13.04 precise 32-bit (en_US.UTF-8)
3 Προδιαγραφές → CPU: i3-2310M 2.1Ghz ‖ RAM 4Gb
4 Κάρτες γραφικών: NVidia GeForce GT 540M 1Gb

Personal blog - website
Άβαταρ μέλους
koslibpro
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 356
Εγγραφή: 12 Μάιος 2011, 16:37
Τοποθεσία: Piraeus
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό Αποστόλης » 17 Ιουν 2012, 23:39

- Το sprintf απλά μορφοποιεί ή εκτυπώνει ένα string σύμφωνα με το format που του δίνεις. Αν βάλεις σκέτο το query πάλι θα τρέξει.
Βέβαια ανάλογα τη δομή του script μπορεί να μην προλάβεις να δεις την εκτύπωση ή να μην την βγάλει καθόλου (αν π.χ. κάνεις κάποιο redirect πρίν ολοκληρωθεί το script).

- Δεν γνωρίζω αν το % είναι wild charachter και της mysql.
Πολύ πιθανό μιας και πολλές εντολές της php "πατάνε" πάνω στη mysql.
Μαζί με το s στην ουσία μορφοποιεί οτιδήποτε του δώσεις σε string. Είναι παράμετρος της sprintf.
Ομως παραμένει wild charachter και σε login διαδικασίες όπου ψάχνεις ακριβώς αυτό που πληκτρολογεί ο χρήστης μπορεί να δημιουργήσει πρόβλημα.

- Αν σου δούλευε το hash όπως το είχες, άστο έτσι. Εμένα μου δουλεύει με τον τρόπο που σου έγραψα.
Διαφορετικά versions; Τι να πω. Αστο όπως σου τρέχει.
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: [php] εμφανιση συνενδεμενου username με sessions

Δημοσίευσηαπό koslibpro » 17 Ιουν 2012, 23:51

Αποστόλης έγραψε:- Το sprintf απλά μορφοποιεί ή εκτυπώνει ένα string σύμφωνα με το format που του δίνεις. Αν βάλεις σκέτο το query πάλι θα τρέξει.
Βέβαια ανάλογα τη δομή του script μπορεί να μην προλάβεις να δεις την εκτύπωση ή να μην την βγάλει καθόλου (αν π.χ. κάνεις κάποιο redirect πρίν ολοκληρωθεί το script).

- Δεν γνωρίζω αν το % είναι wild charachter και της mysql.
Πολύ πιθανό μιας και πολλές εντολές της php "πατάνε" πάνω στη mysql.
Μαζί με το s στην ουσία μορφοποιεί οτιδήποτε του δώσεις σε string. Είναι παράμετρος της sprintf.
Ομως παραμένει wild charachter και σε login διαδικασίες όπου ψάχνεις ακριβώς αυτό που πληκτρολογεί ο χρήστης μπορεί να δημιουργήσει πρόβλημα.

Τί είδους προβλήματα?ρωταω επειδη με ενδιαφερει πολυ αυτο το θεμα τωρα..
αν εχεις και κανα link υποψην,ριχτο.
Spoiler: show
1 Γνώσεις → Linux: Χαμηλό>Μεσαίο┃ Προγραμματισμός: PHP,C ┃ Αγγλικά: Proficiency
2 Λειτουργικό → Ubuntu 13.04 precise 32-bit (en_US.UTF-8)
3 Προδιαγραφές → CPU: i3-2310M 2.1Ghz ‖ RAM 4Gb
4 Κάρτες γραφικών: NVidia GeForce GT 540M 1Gb

Personal blog - website
Άβαταρ μέλους
koslibpro
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 356
Εγγραφή: 12 Μάιος 2011, 16:37
Τοποθεσία: Piraeus
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού

cron