Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql]aktywacja email
icetab
post 17.09.2007, 16:15:08
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


Witam mam problem otoz mam strone z formularzem imie nazwisko email i chce zrobic tak gdy ktos wypisze dane wszystkie wyłącznie z email to wysle na podany email list aktywacyjny z linkiem do aktywacji i jak ktos kliknie to na stronie głównej pokaże sie na liście dodanych użytkowników jak to zrobic ? dziękuje za pomoc

skrypt jest oparty na php i mysql

Ten post edytował icetab 17.09.2007, 16:16:27
Go to the top of the page
+Quote Post
tiraeth
post 17.09.2007, 16:18:14
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


1. Dodatkowa kolumna w bazie danych user_active z wartosciami 1 lub 0.
2. Wysłanie maila z linkiem gdzie w ?active będzie podany hash md5 z haslem
3. Na stronie, po kliknięciu linka, sprawdzasz czy hash z ?active = hash(user_password_z_bazy) - jesli tak, to zmieniasz user_active na 1, jesli nie, to nic nie robisz, przekierowujesz na index.
4. Na stronie wyswietlasz userow, ktorzy maja user_active=1 malejaco wedlug daty.
Go to the top of the page
+Quote Post
icetab
post 17.09.2007, 20:29:20
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


czy ktos by mi pomogl zaczac pisac ten skrypt ?
Go to the top of the page
+Quote Post
kris2
post 17.09.2007, 23:40:51
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 15.08.2007

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


to naprawde jest trywialne. znajdziesz takie gotowe skrypty na sieci. niby jak ktos mialby Tobie w tym pomoc?
Go to the top of the page
+Quote Post
strife
post 18.09.2007, 02:52:12
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(icetab @ 17.09.2007, 21:29:20 ) *
czy ktos by mi pomogl zaczac pisac ten skrypt ?

Chyba sobie żartujesz, ~tiraeth podał Ci wszystko co jest potrzebne do stworzenia czegoś takiego, powinieneś mu ładnie i grzecznie podziękować i zacząć to pisać. Nikt za Ciebie tego nie zrobi (przynajmniej nie za darmo), i jak już chcesz coś, to powinieneś chociaż wykazać odrobinę dobrych chęci !

Pozdrawiam.

PS. Przypominam, że lenistwo na tym forum nie jest mile widziane, więc następną wypowiedź przemyśl.


--------------------
Go to the top of the page
+Quote Post
nitro18
post 18.09.2007, 03:06:56
Post #6





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


Przecież to proste jak drut.

do wysłania maili użyj phpmailer


a resztę kolega Ci powiedział.
Go to the top of the page
+Quote Post
Piotrwusek
post 26.12.2007, 22:04:58
Post #7





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Cytat(tiraeth @ 17.09.2007, 16:18:14 ) *
3. Na stronie, po kliknięciu linka, sprawdzasz czy hash z ?active = hash(user_password_z_bazy) - jesli tak, to zmieniasz user_active na 1, jesli nie, to nic nie robisz, przekierowujesz na index.



Co wtedy gdy dwóch użytkowników ma takie same hasła?
Go to the top of the page
+Quote Post
sniezny_wilk
post 26.12.2007, 22:12:08
Post #8





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(Piotrwusek @ 26.12.2007, 22:04:58 ) *
Co wtedy gdy dwóch użytkowników ma takie same hasła?


Dokładnie. Ja zalecam robić hash z => md5(time()); niezawodne, unikalne i skuteczne smile.gif lub ewentualnie dla większego bezpieczeństwa do time dorzucić jeszcze login usera, lub losować jakąś liczbę.


--------------------
Go to the top of the page
+Quote Post
potreb
post 26.12.2007, 22:40:22
Post #9





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Cytat(tiraeth @ 17.09.2007, 16:18:14 ) *
3. Na stronie, po kliknięciu linka, sprawdzasz czy hash z ?active = hash(user_password_z_bazy) - jesli tak, to zmieniasz user_active na 1, jesli nie, to nic nie robisz, przekierowujesz na index.


Wg mnie wystarczy zwykły link aktywacyjny bez żadnych dodatków.
Np activation?userid=11

A w polu user_active z 0 zmieniło by się na 1 i koniec ceregieli.


--------------------

Go to the top of the page
+Quote Post
Piotrwusek
post 26.12.2007, 23:33:55
Post #10





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


Ale twoim sposobem jest mało bezpieczne.
Ponieważ każdy by mógł bez większego problemu pozmieniać innym użytkownikom

Moja propozycja


active.php?Login=login_usera&Active=haslo_usera_zahaslowane_md5
Go to the top of the page
+Quote Post
dadexix
post 27.12.2007, 00:20:44
Post #11





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


Kod
active.php?Login=login_usera&Active=haslo_usera_zahaslowane_md5
jak by to przerobić jeszcze bardziej:
active.php?Login=mail+login_zakodowany_sha1&Active=haslo_usera_zahaslowane_md5


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
potreb
post 27.12.2007, 10:22:40
Post #12





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Cytat(Piotrwusek @ 26.12.2007, 23:33:55 ) *
Ale twoim sposobem jest mało bezpieczne.
Ponieważ każdy by mógł bez większego problemu pozmieniać innym użytkownikom

Moja propozycja
active.php?Login=login_usera&Active=haslo_usera_zahaslowane_md5


No mógłby pozmieniać tzn zaktywować tylko konto i nic więcej,.

Ale jak ktoś chce zabezpieczyć to to wystarczy wysłac link np z datą rejestracji i po kłopocie


--------------------

Go to the top of the page
+Quote Post
phpion
post 27.12.2007, 10:28:36
Post #13





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(potreb @ 27.12.2007, 12:22:40 ) *
No mógłby pozmieniać tzn zaktywować tylko konto i nic więcej,.

No tak, tylko w tym momencie bezsensowna staje się aktywacja przez e-mail. Wchodzę, rejestruję nowe konto, podaję fikcyjny adres po czym sam sobie aktywuję konto ręcznie.

Cytat(potreb @ 27.12.2007, 12:22:40 ) *
Ale jak ktoś chce zabezpieczyć to to wystarczy wysłac link np z datą rejestracji i po kłopocie

Również jest to proste do obejścia. Patrzysz o której godzinie się rejestrujesz po czym próbujesz ręcznie zmienić (różnice czasowe między serwerem a kompem usera nie powinny być duże).

Ja stosuję coś takiego jak ~sniezny_wilk tj. klucz aktywacyjny to md5(time().uniqid()) i pozamiatane, po czym link aktywacyjny wyglada tak strona.pl/aktywuj.php?user_id=X&kod_aktywacyjny=Y
smile.gif
Go to the top of the page
+Quote Post
potreb
post 27.12.2007, 16:53:42
Post #14





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Cytat(phpion.com @ 27.12.2007, 10:28:36 ) *
No tak, tylko w tym momencie bezsensowna staje się aktywacja przez e-mail. Wchodzę, rejestruję nowe konto, podaję fikcyjny adres po czym sam sobie aktywuję konto ręcznie.

Ja stosuję coś takiego jak ~sniezny_wilk tj. klucz aktywacyjny to md5(time().uniqid()) i pozamiatane, po czym link aktywacyjny wyglada tak strona.pl/aktywuj.php?user_id=X&kod_aktywacyjny=Y
smile.gif


Nie wiem czy dobrzę rozumię, ale po co mam sobie sam podglądać o której godzinie się rejestruje?? Chyba jeszcze nikt nie wpadł na to żeby zhackować swoje konto? A jak data ma zapisaną nie tylko godzinę, ale i minuty i sekundy to też mam trzymać zegarek w reku i patrzeć się o której zostało konto założone?

Jak dla mnie wszystko to ściema, link aktywacyjny to tylko tak naprawdę potwierdzenie swojego emaila oraz ochrona przed spam botami. That's all


--------------------

Go to the top of the page
+Quote Post
phpion
post 27.12.2007, 22:38:11
Post #15





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(potreb @ 27.12.2007, 18:53:42 ) *
po co mam sobie sam podglądać o której godzinie się rejestruje

Po to aby móc podać fałszywy adres mailowy i aktywować swoje konto z pominięciem faktycznego potwierdzenia przez e-mail.
Go to the top of the page
+Quote Post
potreb
post 28.12.2007, 10:50:25
Post #16





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Wychodzę z założenia że nikomu by się nie chciało bawić w takie duperele.


--------------------

Go to the top of the page
+Quote Post
phpion
post 28.12.2007, 11:07:47
Post #17





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(potreb @ 28.12.2007, 12:50:25 ) *
Wychodzę z założenia że nikomu by się nie chciało bawić w takie duperele.

W takim razie po co bawisz się w aktywację przez e-mail? Wydaje mi się, że robienie jakiegoś pseudo zabezpieczenia tylko po to żeby utrudniło życie użytkownikowi mija się kompletnie z celem. Jeśli już robi się aktywację to tak aby była trudna do złamania. Dopasowanie 32 znakowego hasła jest zdecydowanie bardziej pracochłonne (brute force?) niż wpisanie samego id (to już totalna porażka) czy id + daty rejestracji.

PS: Jakie masz podejście do bezpieczeństwa formularzy? Wychodzisz "z założenia że nikomu by się nie chciało bawić w takie duperele" jak próby włamania?

Ten post edytował phpion.com 28.12.2007, 11:08:49
Go to the top of the page
+Quote Post
drzalek
post 14.06.2008, 15:27:37
Post #18





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Cytat(potreb @ 28.12.2007, 11:50:25 ) *
Wychodzę z założenia że nikomu by się nie chciało bawić w takie duperele.


Wszystko zależy od tego jaki charakter ma strona. Jeśli ktoś widzi w formularzu oświadczenie o akceptacji otrzymywania informacji handlowych, to już jest wystarczający powód, żeby bawić się w takie "duperele". Ja bym bardzo chętnie skorzystał z takiej możliwość, żeby mieć konto w serwisie i nie otrzymywać emaili reklamowych. Poza tym jako admin możesz mieć czasami potrzebę informowania o czymś użtkowników, a jak to zrobisz jak maile będą fikcyjne??
Go to the top of the page
+Quote Post
nitro18
post 14.06.2008, 16:13:04
Post #19





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


PS. Oprócz PHPMailera odkryłem też klasę XPM4. Przynajmniej wysyła na gmaila.
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: 29.06.2025 - 02:06