Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Rejestracja,logowanie,zabez. ITD HELP!
-Gość-
post
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ć (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !!
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
--gubus15--
post
Post #2





Goście







pomóżcie mi prosze was
Go to the top of the page
+Quote Post
fernet
post
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...
Go to the top of the page
+Quote Post
gubus15
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Shili
post
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Następna podpowiedź - prawdopodobnie musisz poczytać o register globals.
Go to the top of the page
+Quote Post
gubus15
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Shili
post
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
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
gubus15
post
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
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ą (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował Shili 15.09.2008, 19:47:48
Go to the top of the page
+Quote Post
gubus15
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

czy teraz jest good (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
gubus15
post
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
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
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ę (IMG:http://forum.php.pl/style_emoticons/default/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... (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)

Ten post edytował drPayton 16.09.2008, 14:02:26
Go to the top of the page
+Quote Post
bliitz
post
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
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
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
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
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% (IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 15:22