Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Rejestracja,logowanie,zabez. ITD HELP!
-Gość-
post 15.09.2008, 18:15:56
Post #1





Goście







Witam serdecznie na początku napisze o co mi biega mianowicie umówiłem się z nauczycielem ze jesli napisze sklepik intern i po sprawdzeniu jesli nie zdoła sie dostac do srodka dostane 6 na koniec roku no wiec do żeczy napisałem sobie juz skrypt rejestracji

Kod
<?

if (!$login ||!$haslo ||!$haselko ||!$email)
{
print "nie uzupełniono wszytskiego";
exit;
}
$login = addslashes($login);
$haslo = addslashes($haslo);
$haselko = addslashes($hasleko);
$email = addslashes($email);

@$db = mysql_pconnect("localhost", "root", "krasnal");
if (!$db)  
    {  
    print "Nie można nawiązać połączenia z bazą danych";
    exit;
    }

mysql_select_db("serwis");

$query = "insert into rejestracja values  ('".$login."', '".$haslo."', '".$haselko."', '".$email."')";
$result = mysql_query($query);

if ($result)
print "Użytkownik <b>".$login."</b> z adresem <b>".$email."</b> został poprawnie zarejestrowany.Dziękujemy.";
else { print "W bazie istnieje już uzytkownik <b>".$login."</b> .Spróbuj jeszcze raz."; }


?>



chodzi mi na poczatek abyście mi wskazali jak go zabezpieczyć smile.gif i jak odwołac sie do logowania no to to bedzie na początek bede bardzo wdzieczny jesli bedziecie pisac, wszystko pisze z głowy i od podstaw exclamation.gif!!
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
--gubus15--
post 15.09.2008, 18:56:02
Post #2





Goście







pomóżcie mi prosze was
Go to the top of the page
+Quote Post
fernet
post 15.09.2008, 19:13:29
Post #3





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 22.03.2007

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


Zrob strone na ktorej bedziesz przedstawial produkty z cena napisz ze jeli kolo chce cos kupic musi wyslac kase przekazem pocztowym i daruj sobie baze danych twoj nauczyciel bedze musial wtedy znac haslo do ftp.

Zeby kozystac z mysql w celach zarobkowych serwer na ktorym masz strone musi miec odpowiednia licencje a takie serwery sa platne. Kolejna kwestia to to czy ty jestes w stanie wystawic rachunek albo fakture.

Mozna do tego podejsc tez z drugiej strony sprzedajesz powiedzmy produkty x-sklepu ktory znajdzesz na osiedlu tylko sklep wyastawia fakture czy tam rachunek a ty po kontakcie telefonicznym z kupujacym dogadujecie sie co do platnosci...


--------------------
Czy sprzedal sie juz czy dopiero ma? Oto pytanie, ktore stawiam wam. A czemu gdy byl, to nic tylko spal? Ze mna co lubie go gadac nic nie chcial. A czemu to gra, a tamtego nie. Chyba nas wszystkich nic nie szanuje. Jaki byl kiedy pil? Jaki byl kiedy gral? Czy to ten czlowiek sam czy moze rozni dwaj?
Go to the top of the page
+Quote Post
gubus15
post 15.09.2008, 19:18:03
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

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


nie nie nie zle mnie zrozumiałes mam to stworzyć dodatkowo tylko dla nauczyciela tak o zeby miec po prostu 6 na koniec roku chce widziec ze potrafie takie cos stworzyc nom i reszta to już do góry napisane smile.gif
Go to the top of the page
+Quote Post
Shili
post 15.09.2008, 19:18:37
Post #5





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


  1. <?php
  2. $login = addslashes($login);
  3. $haslo = addslashes($haslo);
  4. $haselko = addslashes($hasleko);
  5. $email = addslashes($email);
  6. ?>
Już w tym momencie może się dostać do bazy, jak jest odpowiednio kumaty i bodajże użyte jest odpowiednie kodowanie. Mówię to tylko jako ciekawostkę, bo jeśli chce się mieć 6, to jednak wypada samemu "postudiować" wymagany materiał i przychodzić z konkretnymi pytaniami, lub z konkretnym systemem.

Podpowiedź - po to jest skonstruowana funkcja specjalna pod mysql, żeby nie używać funkcji zabezpieczających, które są do wszystkiego na raz. Jaką funkcję zamiast addslashes - poszukaj winksmiley.jpg

Następna podpowiedź - prawdopodobnie musisz poczytać o register globals.
Go to the top of the page
+Quote Post
gubus15
post 15.09.2008, 19:21:57
Post #6





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

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


pisze skrypty ale w tej pomocy bys mi mógł pomuc i wyjasnic to jalepsze co moze byc napisz co i jak ma byc co i co jest w skrucie i bede wiedział juz na przyszłości smile.gif
Go to the top of the page
+Quote Post
Shili
post 15.09.2008, 19:32:09
Post #7





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


A po polsku?

Napisałam dwa zagadnienia, którym powinieneś poświęcić uwagę.

Nie mówiąc już o tym, że pisząc w google "bezpieczeństwo skryptów php" dostajesz obszerne odpowiedzi i wykłady na zagadnienia o bezpieczeństwie. A artykuł na portalu php.pl jest jednym z pierwszych wyników. Zapoznaj się z nim dokładnie i zapamiętaj sobie, że jeśli nie nauczysz się szukać - nic nie zrobisz.

Btw, register globals są omówione jako "Podstawianie zmiennych PHP".

Ten post edytował Shili 15.09.2008, 19:32:55
Go to the top of the page
+Quote Post
Cienki1980
post 15.09.2008, 19:35:10
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Po pierwsze to dostałbyś ode mnie ocenę 1 z ortografii .. ja wiem, może jestem stary i mam staroświeckie podejście do tego ale jak czytam kwiatki typu "skrut, pomuc " itp itd to mnie zalewa .. no ale się nie czepiam

Po drugie dostałbyś ode mnie ocenę 1 z podejścia do zaliczania ( zdobywania lepszej oceny ). Wystarczy poszukać bo temat bezpieczeństwa jest bardzo powszechny.

Po trzecie dostałbyś ode mnie ocenę 1 z obsługi forum a dokładniej wyszukiwarki. Jest wielki rozbudowany na 11 chyba już stron na temat bezpieczeństwa skryptów Bezpieczeństwo - temat przypięty

Przeczytaj, zrozum, zastosuj i w razie problemów pytaj biggrin.gif


--------------------
404
Go to the top of the page
+Quote Post
gubus15
post 15.09.2008, 19:36:28
Post #9





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

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


OK chyba wiem $_POST[zmienna] tak?

jak mam zrobic logowanie odwolujac sie do tej rejestracji??
Go to the top of the page
+Quote Post
Shili
post 15.09.2008, 19:39:55
Post #10





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


No skoro masz zapisywane loginy i hasła w bazie, to robisz formularz logowania i sprawdzasz dane przesłane przez użytkownika. Jeśli istnieje rekord, który ma dokładnie taki sam login i dokładnie takie samo hasło, to logujesz. W przeciwnym razie nie.

Kurcze, na 6 to jednak wypada pomyśleć. Nauczyć się. A nie czekać na gotowe.
Więc próbuj - tak długo jak się da.

@down
Jestem kobietą snitch.gif

Ten post edytował Shili 15.09.2008, 19:47:48
Go to the top of the page
+Quote Post
gubus15
post 15.09.2008, 20:07:21
Post #11





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

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


od bezpieczenstwa nie chciałem zaczynać ale tak wyszło na początek to jak mam sie odwołąc aby napisac logowanie może mi ktos zacznie co i jak

shili no i łasnie mnie oświeciłeś juz wiem co i jak smile.gif

czy teraz jest good questionmark.gif? smile.gif


Kod
<?
if (!$login ||!$haslo ||!$haselko ||!$email)
{
print "nie uzupełniono wszytskiego";
exit;
}
$login = addslashes($_POST['login']);
$haslo = addslashes($_POST['haslo']);
$haselko = addslashes($_POST['hasleko']);
$email = addslashes($_POST['email']);

@$db = mysql_pconnect("localhost", "l", "h");
if (!$db)  
    {  
    print "Nie można nawiązać połączenia z bazą danych";
    exit;
    }

mysql_select_db("serwis");

$query = "insert into rejestracja values  ('".$_POST['login']."', '".$_POST['haslo']."', '".$_POST['haselko']."', '".$_POST['email']."')";
$result = mysql_query($query);

if ($result)
print "Użytkownik <b>".$_POST['login']."</b> z adresem <b>".$_POST['email']."</b> został poprawnie zarejestrowany.Dziękujemy.";
else { print "W bazie istnieje już uzytkownik <b>".$_POST['login']."</b> .Spróbuj jeszcze raz."; }


?>
Go to the top of the page
+Quote Post
ArekJ
post 15.09.2008, 20:14:04
Post #12





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


gubas15 sorki za offtopic, ale Shili to kobieta winksmiley.jpg


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
gubus15
post 15.09.2008, 20:31:15
Post #13





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

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


hehe OK
Go to the top of the page
+Quote Post
Shili
post 15.09.2008, 20:37:33
Post #14





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Jeszcze sprawdź w tym artykule co się używa zamiast addslashes. Dokładnie - od początku do końca. Jest tam rozwiązanie. Bo mam nadzieję, że nie stosujesz addslashes bezmyślnie i zdajesz sobie sprawę z tego co robią.
Go to the top of the page
+Quote Post
drPayton
post 16.09.2008, 13:10:06
Post #15





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


@Cienki1980: Ty się nie czepiałeś, ja to się dopiero przyczepię haha.gif

1. Chcesz 6 dostać a masz problemy z tak absolutnymi podstawami? To za co Ty chcesz tą ocenę?!?
2. Wystarczy raz przeczytać podany Ci jak na dłoni artykuł (szukać nawet nie musisz) by w całkiem przyzwoity sposób móc zabezpieczyć skrypt.
3. Popatrzyłem na Twój kod i padłem:

  1. <?php
  2. (...)$haslo = addslashes($_POST['haslo']);(...)
  3. $query = "insert into rejestracja values  ('".$_POST['login']."', '".$_POST['haslo']."', '".$_POST['haselko']."', '".$_POST['email']."')";
  4. ?>


Hasło jako plaintext przechowujesz w bazie? Super, pogratulować, szczególnie w nawiązaniu do celu jaki chcesz osiągnąć -,-'

added. Doczytałem i kolejny kwiatek:
Troszczysz się coby dane do bazy poszły jak należy, ale już przy wyświetlaniu masz to gdzieś:
  1. <?php
  2. if ($result)
  3. print "Użytkownik <b>".$_POST['login']."</b> z adresem <b>".$_POST['email']."</b> został poprawnie zarejestrowany.Dziękujemy.";
  4. ?>


-,-'

added2: @down: I kolejny kwiatek, to akurat przegapiłem, dobre... haha.gif

Ten post edytował drPayton 16.09.2008, 14:02:26
Go to the top of the page
+Quote Post
bliitz
post 16.09.2008, 13:28:46
Post #16





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


Cytat(gubus15 @ 15.09.2008, 21:07:21 ) *
Kod
<?
...
$login = addslashes($_POST['login']);
$haslo = addslashes($_POST['haslo']);
$haselko = addslashes($_POST['hasleko']);
$email = addslashes($_POST['email']);
...

$query = "insert into rejestracja values  ('".$_POST['login']."', '".$_POST['haslo']."', '".$_POST['haselko']."', '".$_POST['email']."')";
$result = mysql_query($query);

if ($result)
print "Użytkownik <b>".$_POST['login']."</b> z adresem <b>".$_POST['email']."</b> został poprawnie zarejestrowany.Dziękujemy.";
else { print "W bazie istnieje już uzytkownik <b>".$_POST['login']."</b> .Spróbuj jeszcze raz."; }


?>


Najpierw stosujesz addslashes i przypisujesz wartości z $_POST do zmiennych a później do bazy i tak wstawiasz dane bezpośrednio z $_POST, czyli jakie zabezpieczenie byś nie użył i tak jest nieskuteczne


--------------------
Go to the top of the page
+Quote Post
--gubus15--
post 16.09.2008, 15:19:22
Post #17





Goście







Wy wszyscy jestescie cwani jak to na kazdym forum ale kazdy ma jakies problemosy zamiast napisac co i jak zrobic zeby bylo dobrze opisac jak działa w skrócie to wy krytykujecie.Od tego jest to forum zeby pisac i pomagac a nie krytykowac dzieki narazie no comment
Go to the top of the page
+Quote Post
drPayton
post 16.09.2008, 15:23:42
Post #18





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Forum jest od tego, żeby pomagać z konkretnymi problemami, a nie od rozwiązywania cudzej pracy domowej... Zadaj konkretne pytanie - otrzymasz konkretną odpowiedź.
Go to the top of the page
+Quote Post
--gubus15--
post 16.09.2008, 15:25:51
Post #19





Goście







OK wiec zadaje konkretne


O co chodzi z tymi addslashes
Go to the top of the page
+Quote Post
drPayton
post 16.09.2008, 15:31:29
Post #20





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


W tym przypadku wstawiaj dane do bazy w następujący sposób:
  1. <?php
  2. mysql_query("INSERT INTO tabela (pole, pole2, pole3) VALUES (1, '".md5($_POST['haslo'])."', '".mysql_real_escape_string($_POST['tekst'])."')");
  3. ?>


W ten sposób (mysql_real_escape_string, a nie korzystając z addslashes) zapewniasz (na 99% winksmiley.jpg bezpieczeństwo danych wstawianych przez użyszkodnika. Nie ma potrzeby używania jakiegokolwiek zabezpieczenia przy hashu md5.
Poza tym, choć jest to kwestia projektowa, w mniejszym stopniu bezpieczeństwa, najpierw zawsze przeprowadź walidację danych (np czy wpisano poprawny email, czy login składa się wyłącznie z liter, cyfr i podkreślnika etc).

edit: literówki

Ten post edytował drPayton 16.09.2008, 15:32:20
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 14.08.2025 - 08:45