Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] Formularz zmiany hasła
krzychu0808
post
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


Chcę zrobić formularz zmiany hasła ale chyba źle napisałem zapytanie do bazy danych napisałem tak:
  1. <?php
  2. $connection = mysql_connect('localhost', 'aikon_testowa', 'xxxxx');
  3. mysql_select_db('aikon_testowa');
  4. $query = "update `dane` set 
  5. `userpassword`='{$userpassword}'
  6.  where `usernumber`='{$numer_usera}'";
  7. $zmiana = mysql_query($query, $connection);
  8. if($zmiana) echo '<div class="blad1"><br/>Hasło zostało zmienione<br/><br/></div>';
  9. ?>


proszę o pomoc co źle zrobiłem
Go to the top of the page
+Quote Post
rafalp
post
Post #2





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


  1. "update dane set
  2. userpassword='$userpassword'
  3. where usernumber='$numer_usera'"


bez średników przy nazwach pól.
Go to the top of the page
+Quote Post
krzychu0808
post
Post #3





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


kurde dalej mi nie działa zrobiłem tak
  1. <html>
  2. <head><title>Zmiana Hasła || Dane Użytkownika</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head>
  3. <body>
  4. <?php
  5. echo "Zmiana Hasła Usera ID $numer_usera";
  6. if($_POST[form_wyslany]){
  7. if(empty($_POST['userpassword']))
  8. {
  9. echo '- Podaj Hasło<br/>';
  10. $error=1;
  11. }
  12. elseif($_POST[userpassword]!=$_POST[userpassword1]){
  13. echo '- Wybrane i Powtórzone Hasła nie są identyczne';
  14. $error=1;
  15. }
  16. }
  17. if($_POST[form_wyslany] && !$error){
  18. $connection = mysql_connect('localhost', 'aikon_testowa', 'xxxxxxxx');
  19. mysql_select_db('aikon_testowa');
  20. $query = "update dane set
  21. userpassword='$userpassword'
  22. where usernumber='$numer_usera'";
  23. $zmiana = mysql_query($query, $connection);
  24. if($zmiana) echo '<div class="blad1"><br/>Hasło zostało zmienione<br/><br/></div>';
  25. }
  26. if(!$zmiana){
  27. echo '<form method="post" action="haslo.php">';
  28. echo '<B>Hasło:</b><BR><input type="password" name="userpassword"><br/>';
  29. echo '<B>Powtórz Hasło:</b><BR><input type="password" name="userpassword1"><BR>';
  30. echo '<input type="submit" value="Zmień Hasło">';
  31. echo '<input type="hidden" name="form_wyslany" value="1">';
  32. echo '</form>';
  33. }
  34. else{
  35. #session_destroy();
  36.  
  37. echo 'dodano usera poprawnie sranie w banie';
  38. }
  39. ?>

wyświetla sie ładnie hasło zmienione ale nie zmienia się w bazie danych proszę o pomoc

Ten post edytował krzychu0808 31.07.2008, 11:04:12
Go to the top of the page
+Quote Post
rafalp
post
Post #4





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


A sorki za niedopatrzenie:

  1. WHERE usernumber=$numer_usera


$numer_usera też daj bez średników bo to przecież watrość liczbowa.
Go to the top of the page
+Quote Post
Kicok
post
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


1. Dlaczego raz piszesz $userpassword, a innym razem $_POST['userpassword']
2. Skąd bierzesz zmienną $numer_usera

3. I najmniej istotne: Dlaczego raz piszesz $_POST['userpassword'] a innym razem: $_POST[userpassword]
Go to the top of the page
+Quote Post
krzychu0808
post
Post #6





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


1. napisałem $userpassword w zapytaniu do bazy bo nie umiałem zamienić tego $_POST['userpassword']
2. $numer_usera jest przesyłany z poprzedniego formularza
  1. <?php
  2. <td><center><form method=POST action=haslo.php><input type=hidden name=numer_usera value=$row_get[usernumber]><input type=submit value=Zmień></form></center></td>";
  3. ?>

i jest przesyłany bo jak wejde to pisze Zmiana Hasła Usera ID xxx
3. tak jakoś

ale dalej nie działa jak zmieniłem na where usernumber=$numer_usera to gdy kliknę "zmień hasło" zostają dalej pola ale znika numer w zdaniu Zmiana Hasła Usera ID więc mi się zdaje że coś gdzieś zgubiłem i on przy wysyłaniu gubi gdzieś $numer_usera ..
Go to the top of the page
+Quote Post
Victor152
post
Post #7





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 26.02.2008

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


  1. <?php
  2. $query = "update dane set userpassword='".$userpassword."' where usernumber='".$numer_usera."'";
  3. ?>


Spróbuj tak.

Ten post edytował Victor152 31.07.2008, 12:02:09
Go to the top of the page
+Quote Post
pyro
post
Post #8





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


a teraz exploit:

Kod
www.xyz.pl/?userpassword=nowehaselko' WHERE usernumber = (id_admina) /*


Ten post edytował pyro 31.07.2008, 12:04:31
Go to the top of the page
+Quote Post
krzychu0808
post
Post #9





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


też nie działa kurde ja coś zgubiłem tylko nie wiem co

o co chodzi z tym exploit (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


o to ze ktos w ten sposob moze wbic ci sie na stronke (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Victor152
post
Post #11





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 26.02.2008

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


Napisz co Ci wyświetla.

#Co do exploita
Niezłe jaja z tym są^^
Ktoś Ci może bazę usunąć jak nie zabezpieczysz (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <?php
  2. $query = "update dane set userpassword='".$POST['userpassword1']."' where usernumber='".$numer_usera."'";
  3. ?>

Pozatym musisz gdzieś napisać co to $numer_usera, nigdzie nie ma zdefiniowanej tej zmiennej!

Ten post edytował Victor152 31.07.2008, 12:12:41
Go to the top of the page
+Quote Post
pyro
post
Post #12





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2. $query = "update dane set
  3. userpassword='$userpassword'
  4. where usernumber='$numer_usera'";
  5. ?>


poza tym skąd się biorą zmienne $userpassword i $numer_usera? no chyba ze masz wlaczone RWGISTER_GLOBALS....
Go to the top of the page
+Quote Post
krzychu0808
post
Post #13





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


$password bierze się z
  1. <?php
  2. echo '<form method="post" action="haslo.php">';
  3. echo '<B>Hasło:</b><BR><input type="password" name="userpassword"><br/>';//tutaj <<<<<-------
  4. echo '<B>Powtórz Hasło:</b><BR><input type="password" name="userpassword1"><BR>'; 
  5. echo '<input type="submit" value="Zmień Hasło">';
  6. echo '<input type="hidden" name="form_wyslany" value="1">';
  7. echo '</form>';
  8. ?>

a jeżeli $numer_usera przesyłam z poprzedniego formularza to on przy wysyłaniu danych z tego formularza znika (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Jeśli pobierasz dane z formularza lub z URLa to nie sa one później widoczne jawnie tylko w tablicach $_POST i $_GET
Go to the top of the page
+Quote Post
Victor152
post
Post #15





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 26.02.2008

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


Czyli jednym słowem sprecyzuj $numer_usera : )
Albo go z wcześniejszych formularzy w cookie wpakuj ale to lipny pomysł.
Go to the top of the page
+Quote Post
krzychu0808
post
Post #16





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


o co ci chodzi z tym sprecyzowaniem (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Victor152
post
Post #17





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 26.02.2008

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


No musisz napisać
  1. <?php
  2. $numer_usera = tutaj_login_ma_wyciagac_czy_to_z_bay_czy_to_z_sesji;
  3. ?>

Przed zapyutaniem oczywiście.
Go to the top of the page
+Quote Post
krzychu0808
post
Post #18





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


zrobiłem tak że zmienna $numer_usera jest przekazywana do echo "<input type=\"hidden\" name=\"usernumber\" value=$numer_usera>"; i po wysłaniu przechodzi ona w $usernumber = $_POST['usernumber']; i dalej idzie jako $usernumber do zapytania ale jest haczyk jak ktoś wpisze źle hasło lub go nie wpisze to wyskuje stosowny błąd a zmienna znika ;/ ta zmienna $numer_usera lub $usernumber musiała by gdzieś być przechowywana jakiś pomysł (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  1. <html>
  2. <head><title>Zmiana Hasła || Dane Użytkownika</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head>
  3. <body>
  4. <?php
  5. $usernumber = $_POST['usernumber']; // 
  6. echo "Zmiana Hasła Usera ID $numer_usera<br/>";
  7. if($_POST[form_wyslany]){
  8. if(empty($_POST['userpassword']))
  9. {
  10. echo '- Podaj Hasło<br/>';
  11. $error=1;
  12. }
  13. elseif($_POST[userpassword]!=$_POST[userpassword1]){
  14. echo '- Wybrane i Powtórzone Hasła nie są identyczne<br/>';
  15. $error=1;
  16. }
  17. }
  18. if($_POST[form_wyslany] && !$error){
  19. $usernumber = $_POST['usernumber'];
  20. $connection = mysql_connect('localhost', 'aikon_testowa', 'xxxx);
  21. mysql_select_db('aikon_testowa');
  22. $query = "update dane set userpassword='$userpassword' where usernumber='$usernumber'";
  23. $zmiana = mysql_query($query, $connection);
  24. if($zmiana) echo '<div class="blad1"><br/>Hasło zostało zmienione<br/><br/></div>';
  25. }
  26. if(!$zmiana){
  27. echo '<form method="post" action="haslo.php">';
  28. echo '<B>Hasło:</b><BR><input type="password" name="userpassword"><br/>';
  29. echo '<B>Powtórz Hasło:</b><BR><input type="password" name="userpassword1"><BR>';
  30. echo '<input type="submit" value="Zmień Hasło">';
  31. echo '<input type="hidden" name="form_wyslany" value="1">';
  32. echo "<input type=\"hidden\" name=\"usernumber\" value=$numer_usera>";
  33. echo '</form>';
  34. }
  35. else{
  36. #session_destroy();
  37.  
  38. echo 'dodano usera poprawnie sranie w banie;
  39. }
  40. ?>


Ten post edytował krzychu0808 31.07.2008, 14:14:25
Go to the top of the page
+Quote Post
pyro
post
Post #19





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


kszychu, zabezpiecz wkońcu ^^
Go to the top of the page
+Quote Post
krzychu0808
post
Post #20





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

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


to mi powiedz w jaki sposób mam ją zabezpieczyć to zrobię (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
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: 27.08.2025 - 13:24