verification links...λογική;

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

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

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 11 Νοέμ 2013 13:38

Οπότε, θα παίρνεις ώρα από το ρολόι του db server (αυτό υπονοεί το default).
Άρα, θα πρέπει να τη συγκρίνεις πάντα με ένα timestamp πάλι από τον db server:

Κώδικας: Επιλογή όλων

select * fom email_change where now&#40;&#41;-interval 1 day<insert_time
Το παραπάνω θα σου δώσει τις "μη ληγμένες" αιτήσεις αλλαγής e-mail.

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 12 Νοέμ 2013 11:34

είμαι στην φάση που επεξεργάζομαι το verification email το οποίο το στέλνει αυτή η function:

Κώδικας: Επιλογή όλων

function send_vfy_mail&#40;$newmail,$nonce&#41;
&#123;
   $to = $newmail; 
   $subject = 'επαλήθευση για καινούργιο e-mail';
   $message = 'Συνδεσμος&#58;<a href="http&#58;//localhost/Appointments/Administrator/verify?nonce='.$nonce.'.php">';
   $header='From&#58;sender<pap56@ath.forthnet.gr>';
   mail&#40;$to, $subject, $message,$header&#41;;
&#125;
To πρόβλημα είναι οτι στο μηνυμα που καταφθάνει φαίνεται κα το href tag...γιατί συμβαίνει αυτό;
Για να καταλάβετε αυτό είναι που φαινεται:
<a href="http://localhost/Apllication/Administra ... 8a6737.php">

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 12 Νοέμ 2013 12:54

Το στέλνεις σαν text και όχι σαν html.
Δοκίμασε:

Κώδικας: Επιλογή όλων

   $header="From&#58;sender<pap56@ath.forthnet.gr>\nContent-type&#58; text/html\n";
[offtopic]Καλό θα ήταν βέβαια να φτιάξεις το $message ώστε να είναι valid html.[/offtopic]

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 12 Νοέμ 2013 13:07

geomagas έγραψε:Το στέλνεις σαν text και όχι σαν html.
Δοκίμασε:

Κώδικας: Επιλογή όλων

   $header="From&#58;sender<pap56@ath.forthnet.gr>\nContent-type&#58; text/html\n";
[offtopic]Καλό θα ήταν βέβαια να φτιάξεις το $message ώστε να είναι valid html.[/offtopic]
To έκανα, αυτή είναι η(αλλαγμένη) function:

Κώδικας: Επιλογή όλων

function send_vfy_mail&#40;$newmail,$nonce&#41;
&#123;
   $to = $newmail; 
   $subject = 'επαλήθευση για καινούργιο e-mail';
   $message = '<html><body><a href="http&#58;//localhost/Application/Administrator/verify?nonce='.$nonce.'.php"></a></body></html>';
   $header="From&#58;sender<pap56@ath.forthnet.gr>\nContent-type&#58; text/html\n";
   mail&#40;$to, $subject, $message,$header&#41;;
&#125;
Στο Outlook το link εμφανίζεται, σε web mail clients(hotmail,gmail) όχι αν και υπάρχει στο source της σελίδας στον browser δεν τυπώνεται τίποτα.
Δεν πρόκεται να επεκταθώ στο θέμα αυτό(καθώς είμαστε ηδη off topic) καθώς είναι μεγάλο και θα πρέπει να γίνει διαφορετικό topic...θα σταματήσω εδώ.
Aλλά αν θες κάνε ένα τελευταίο σχόλιο.

Μια διόρθωση, αν ορίσω στο Outlook το mail σαν html email ούτε εκεί φαίνεται το link.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 12 Νοέμ 2013 13:20

Μπορεί το Outlook να ψάχνει κι άλλους headers...
Επίσης, η html σου δεν είναι ακόμη valid (σου λέιπει το <head>, και καλό θα ήταν να βάλεις και κανένα <!DOCTYPE>).

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

verification links...λογική;

Δημοσίευση από Khronos » 12 Νοέμ 2013 13:22

Για αποστολή email είναι καλύτερο να χρησιμοποιήσεις μια βιβλιοθήκη για να αποφύγεις και άλλα προβλήματα.

http://swiftmailer.org/

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 12 Νοέμ 2013 22:55

προχωράω σιγά σιγά και είμαι στο σημείο που πρέπει να "πάρω" το nonce από την βάση και να το συγκρίνω με αυτό που έρχεται μέσω του link που έκανε κλικ ο χρήστης στο verification email.
H ερώτηση είναι αν πρέπει να "παίρνω"(SELECT statement δηλαδή) το nonce με βάση το καινούργιο e-mail ή με βάση το id του χρήστη. Με βάση το id θα πρέπει να κάνω join που αν γίνεται να το αποφύγω καλό θα ήταν για χάριν ταχύτητας και ευκολίας.
Λεπτομέρεια θα μου πείτε αλλά είπα να το θέσω.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 13 Νοέμ 2013 00:05

Serghio έγραψε:...με βάση το καινούργιο e-mail ή με βάση το id του χρήστη.
Γιατί, έχεις κανένα από τα δύο;
Το μόνο που έχεις είναι το nonce! ($_GET['nonce'])

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 00:09

geomagas έγραψε:
Serghio έγραψε:...με βάση το καινούργιο e-mail ή με βάση το id του χρήστη.
Γιατί, έχεις κανένα από τα δύο;
Το μόνο που έχεις είναι το nonce! ($_GET['nonce'])
Eλα ντε...μα τι λέω. :hammer:

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 10:36

μια μικρή διόρθωση...εσείς θα μου πείτε αν κάνω λάθος.Από την στιγμή που πάει verification email στον χρήστη με το nonce δεν σημαίνει επίσης οτι μας έχει δώσει το καινούργιο e-mail;
Το οποίο βέβαια έχει τοποθετηθεί στον προσωρινό πίνακα.

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από gvre » 13 Νοέμ 2013 10:41

Ρητορική είναι η ερώτηση, έτσι;

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 13 Νοέμ 2013 10:46

Serghio έγραψε:μια μικρή διόρθωση...εσείς θα μου πείτε αν κάνω λάθος.Από την στιγμή που πάει verification email στον χρήστη με το nonce δεν σημαίνει επίσης οτι μας έχει δώσει το καινούργιο e-mail;
Εμ, αφού στο νέο mail του τα στέλνεις όλα αυτά... αλλιώς δεν έχει νόημα.
Serghio έγραψε:Το οποίο βέβαια έχει τοποθετηθεί στον προσωρινό πίνακα.
Ναί, άλλωστε κι εσύ το είπες:
Serghio έγραψε:

Κώδικας: Επιλογή όλων

query&#40;'insert into email_change&#40;user,email_changecol,nonce&#41; values
                                          &#40;"'.$userid.'","'.$newemail.'","'.$nonce.'"&#41;'&#41;; 
Emphasis: $newmail

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 12:29

ολα αυτά με τα λέω με την εξής λογική:
Με 2 τρόπους μπορώ να πάρω το nonce από την βάση,είτε με το ίδιο το nonce(το οποίο προηγουμένως το παίρνω με GET) η με το email του χρήστη.

Θα υπάρξει κάποιο σφάλμα λογικής με το ένα ή το άλλο;
Το ξέρω ότι μπορώ να ακούγομαι "περίεργος" αλλά απλώς δεν θέλω να προκύψει κανένα bug αργότερα και με κάνει να ψάχνω.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 13 Νοέμ 2013 12:38

Μα που το ξέρεις το e-mail; Λογικά μόνο το nonce ξέρεις. Χάνω κάτι;

Serghio
Δημοσιεύσεις: 455
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 13:15

geomagas έγραψε:Μα που το ξέρεις το e-mail; Λογικά μόνο το nonce ξέρεις. Χάνω κάτι;
Πάμε βήμα-βήμα,προφανώς αν κάνω κάτι λάθος μου το επισημαίνετε αν και πάει το μυαλό μου μάλλον που είναι το πρόβλημα.
  • 1.Ο χρήστης βάζει το καινούργιο του email στην φόρμα.
    2.Αυτό με το nonce μπαίνουν σε ένα πίνακα
Αρα να που έχουμε το καινούργιο e-mail εκτός και αν εννοείς οτι από την στιγμή που δεν έχει γίνει το verification δεν μπορούμε να μιλάμε για "καινούργιο email".

Απάντηση

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

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

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