Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Sprawdzenie hasla przy logowaniu do skrzynki pocztowej
Wolfie
post 1.09.2009, 09:54:09
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam,

Mam taki problem ze konstruuje sobie kontroler no i chce sprawdzic wewnatrz czy uzytkownik sie poprawnie zalogowal do skrzynki pocztowej, cala rzecz polega na tym ze nie wiem jak sprawdzic poprawnosc loginu i hasla bo przeciez kazda skrzynka ma je inne wiec nie moge tego porownac z jakimis z gory ustalonymi zmiennymi, wiec na jakiej podstawie mam wnioskowac czy logowanie powiodlo sie ?
Chetnie zobacze jakis przyklad takiego rozwiazania......
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Wicepsik
post 1.09.2009, 11:28:38
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Wysyłasz zapytanie do bazy danych i sprawdzasz czy podany login i hasło są poprawne.


--------------------
Go to the top of the page
+Quote Post
Wolfie
post 1.09.2009, 11:45:40
Post #3





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Przeciez wyraznie napisalem ze nie mam z gory ustalonych zmiennych loginu i hasla. Do jakiej bazy danych ? do gmaila ? przeciez mowie ze nie mam dostepu do loginu i hasla zeby sprawdzic ich poprawnosc w kodzie. A jak bede chcial sie podlaczyc do innej skrzynki gmail ?

Wlasnie w tym jest sek, chodzi o sprawdzenie czy uzytkownik sie zalogowal ale nie na podstawie poprawnosci loginu i hasla bo to nie jest mozliwe w tym przypadku........
Go to the top of the page
+Quote Post
kfc4
post 1.09.2009, 13:16:07
Post #4





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

Ostrzeżenie: (0%)
-----


Chcesz sprawdzić czy użytkownik podał właściwy login i hasło do swojej poczty na gmailu, tak? Nie wiem jak to reguluje regulamin forum, ale spróbuj cURLem.
Go to the top of the page
+Quote Post
Wolfie
post 1.09.2009, 14:53:13
Post #5





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Nie rozumiem co ma z tym wspolnego cURL a co dopiero regulamin forum ......
Go to the top of the page
+Quote Post
Fifi209
post 1.09.2009, 15:21:46
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(Wolfie @ 1.09.2009, 15:53:13 ) *
Nie rozumiem co ma z tym wspolnego cURL a co dopiero regulamin forum ......

Skoro chcesz logować się na gmaila... no to chyba curlem...


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Wolfie
post 1.09.2009, 15:50:48
Post #7





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Nie cURLem, logowanie mam zrobione wyglada to tak :

  1. class MailboxAccess {
  2.  
  3.  
  4. protected $_connection = null;
  5.  
  6. public function __construct($server, $user, $pass, $port = 993, $protocol = 'imap') {
  7. if(!($this->_connection = imap_open('{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}', $user, $pass)))
  8. throw new Exception ('Connection failure');
  9. }
  10.  
  11. public function inbox() {
  12. return $this->_sort = imap_sort($this->_connection, SORTARRIVAL, false);
  13. }
  14.  
  15. function boxes($server, $port = 993, $protocol = 'imap') {
  16. return $this->_boxes = imap_list($this->_connection, '{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}', '*');
  17. }
  18.  
  19. public function body($mId) {
  20. return imap_fetchbody($this->_connection, $mId, 1);
  21. }


Calego pliku nie bede tu wklejal bo nie ma sensu......tworze instancje klasy i z odpowiednim loginem i haslem i juz jestem podlaczony, nie wiem po co mialbym uzywac curla.

Wiec powrocmy do glownego problemu

Tak wyglada mniej wiecej moj kontroler :

  1. <?php
  2.  
  3.  
  4. class MailboxController extends MailboxView {
  5.  
  6.  
  7. function MailboxController (&$model,$postvars=null) {
  8. MailboxView::__construct($model);
  9. $this->header();
  10. //print_r($_POST);
  11. switch ($postvars) {
  12. case 'login':
  13. //$this->productItem($getvars['id']);
  14. $this->inbox();
  15. break;
  16. default:
  17. if ( empty ($postvars) ) {
  18. $this->login();
  19. } else {
  20. $this->inbox();
  21. }
  22. break;
  23. }
  24. $this->footer();
  25. }
  26. }
  27. ?>


Jak widac przesylam dane $_POSTem. Jesli nic nie zostalo przeslane to wyswietlam widok $this->login() ktory pokazuje formularz logowania, gdy zostana przeslane jakikolwiek dane to wyswietlam widok $this->inbox()(mowie teraz o defaultowej czesci switcha) ktory wyswietla mi inbox z mojej skrzynki, podlaczenie do gmaila juz mam zalatwione i wszystko smiga, teraz chodzi o sprawdzenie w kontrolerze czy uzytkownik wpisal odpowiednie dane i jesli tak wyswietlenie widoku $this->inbox() ale nie na podstawie jakichkolwiek danych przeslanych przez $_POST. Potrzebuje sprawdzic czy uzytkownik rzeczywiscie zalogowal sie do servera i na tej podsawie wyswetlic widok......ale nie mam pomyslu jak to zrobic, tutaj tkwi problem.......

Ten post edytował Wolfie 1.09.2009, 15:52:03
Go to the top of the page
+Quote Post
kfc4
post 1.09.2009, 16:32:21
Post #8





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

Ostrzeżenie: (0%)
-----


Cytat
a co dopiero regulamin forum ......

No np. phishing. Twoje pierwsze wypowiedzi były takie bez składu trochę, jakbyś nie wiedział co chcesz.
Go to the top of the page
+Quote Post
thek
post 1.09.2009, 17:41:03
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie wiem czy o to Ci chodzi... Google ma protokół IMAP zaimplementowany, więc to poprzez niego musiałbyś się odnosić (wpierw go jednak aktywuj na koncie google, bo domyślnie jest wyłączone) i dlatego uważam, że może Ci chodzić o funkcję imap_open a także inne związane z IMAP

Ten post edytował thek 1.09.2009, 17:41:29


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Wolfie
post 1.09.2009, 18:07:00
Post #10





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


thek, jakbys dokladniej przeanalizowal moja klase MailboxAccess to widac wyraznie ze imap_open jest zaimplementowany, powtarzam po raz wtory, ze kwestia rozchodzi sie nie o polaczenie z serverem pocztowym a o kontroler ! a dokladniej o konstrukcje switch.

Panowie, prosze czytajcie ze zrozumieniem, chyba moj poprzedni post dokladnie tlumaczy o co chodzi.....o sprawdzenie i tylko i wylacznie sprawdzenie czy wpisujac login oraz haslo w formularzu i przesylajac dane do kontrolera nastapilo polaczenie z serwerem pocztowym.
Go to the top of the page
+Quote Post
thek
post 1.09.2009, 19:39:39
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tylko nie rozumiem jednej rzeczy. Po co masz sprawdzać cokolwiek skoro masz w klasie pole connection. I to je wystarczy sprawdzać. Będzie tam identyfikator - zalogował się. Będzie FALSE to był byk przy logowaniu. A przecież tę informację uzyskujesz przez imap_open wykonane prawidłowo bądź nie Jedyne co jeszcze bym zrobił to destuktor zamykający połączenie z serwerem i ustawiający pole connection na FALSE. Funkcja sprawdzająca połączenie wystarczy, że zobaczy co masz w tym polu i będziesz wiedzieć czy połączyło czy nie. Żadna filozofia inna za tym nie stoi. Zrobisz ten obiekt jako przechodzący między stronami klienta i tyle. W ten sposób będziesz wiedział co się dzieje. Dlatego też wspomniałem o imap_open, bo tylko wskaźnika jaki on zwraca Ci potrzeba.

Ten post edytował thek 1.09.2009, 19:40:42


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 10:49