![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 3 Dołączył: 3.04.2007 Ostrzeżenie: (50%) ![]() ![]() |
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 |
|
|
![]()
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 3 Dołączył: 3.04.2007 Ostrzeżenie: (50%) ![]() ![]() |
czy ktos by mi pomogl zaczac pisac ten skrypt ?
|
|
|
![]()
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?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
Przecież to proste jak drut.
do wysłania maili użyj phpmailer a resztę kolega Ci powiedział. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 399 Pomógł: 7 Dołączył: 11.06.2007 Skąd: Poznan Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 399 Pomógł: 7 Dołączył: 11.06.2007 Skąd: Poznan Ostrzeżenie: (20%) ![]() ![]() |
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 |
|
|
![]()
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:) |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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 -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
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. 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 ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() 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 -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
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.
-------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
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 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 18 Dołączył: 6.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
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?? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
PS. Oprócz PHPMailera odkryłem też klasę XPM4. Przynajmniej wysyła na gmaila.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 02:06 |