![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chciałbym, by osoba zalogowana mogła zmienić swoje hasło, jednak nie mogę się z tym uporać. Po wysłaniu danych tworzy się nowy wiersz w tabeli, w którym jest zawarte wprowadzone nowe hasło.
Oto kod:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 26.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Po wysłaniu danych tworzy się nowy wiersz w tabeli... Skoro robisz insert'a to nic dziwnego, ze sie tworzy nowy wiersz. Do edycji sluzy UPDATE |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 13 Dołączył: 8.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
np tak.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
np tak.
nie działa. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 2 Dołączył: 1.10.2012 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Zapoznaj się z budową update http://dev.mysql.com/doc/refman/5.0/en/update.html nic dziwnego że nie zmienia Ci hasła jesli nie podajesz niczego co by mogło zidentyfikować jakiemu userowi zmieniasz hasło. Skąd SQL ma wiedzieć czy to user o id 1 czy user o id 2 czy jakiekolwiek (IMG:style_emoticons/default/smile.gif) poza tym bardzo niebezpieczna jest Twoja konstrukcja. nigdzie nie sprawdzasz co użytkownik Ci wysyła tym postem, mozliwe że to będzie jakieś sql injection ( http://pl.wikipedia.org/wiki/SQL_injection ) czy cokolwiek (IMG:style_emoticons/default/wink.gif) nigdy nie ufaj użytkownikom i wszystko co idzie od nich do serwera traktuj podejrzliwie bo Ci walnie jakieś drop database czy coś (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
oto screen mojej bazy:
http://gramytu.pl/uploads/imgs/pre_1349186366__screenik.jpg oto mój plik config, którego używam do łączenia się:
oto indeks.php - strona dla zalogowanych
ktoś wie jak zrobić by podmieniało to hasło? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 13 Dołączył: 8.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
PS. A tak wogóle to po co przechowujesz hasło w Sesji i to jeszcze w sposób jawny? Ten post edytował ixox 2.10.2012, 15:25:28 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
uporałem się z tym problemem
działa. Tyle że dopiero teraz zauważyłem pewien bug - a mianowicie po zalogowaniu się i odświeżeniu strony pokazuje mi "Nieprawidłowe logowanie." i zmienia mi hasło na jedną spacje. potem gdy się zaloguje na takie konto z takim hasłem to mogę odświeżać ile chcę a i tak nie wyloguje mnie / nie zmieni hasła - czyli nic złego się nie stanie. w poprzednim moim poście zawarłem kod indeks.php , connection.php i SS z bazy danych. Ktoś ma pomysł dlaczego tak się dzieje? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
A nie widzisz czemu tak się dzieje? Masz w indexie:
więc zapytanie wykonuje się za KAŻDYM RAZEM gdy odpalasz index.php, jednak przed zalogowaniem zmienna $nick jest pusta, więc nie znajduje takiego rekordu w bazie do aktualizacji, po zalogowaniu w zmiennej $nick jest już prawidłowy nick z bazy, ale $nowehaslo jest ciągle puste, więc zapytanie czyści komórkę z hasłem... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
A nie widzisz czemu tak się dzieje? Masz w indexie:
więc zapytanie wykonuje się za KAŻDYM RAZEM gdy odpalasz index.php, jednak przed zalogowaniem zmienna $nick jest pusta, więc nie znajduje takiego rekordu w bazie do aktualizacji, po zalogowaniu w zmiennej $nick jest już prawidłowy nick z bazy, ale $nowehaslo jest ciągle puste, więc zapytanie czyści komórkę z hasłem... dzięki (IMG:style_emoticons/default/smile.gif) a już miałem porzucić ten skrypt (IMG:style_emoticons/default/snitch.gif) Przeprawiłem to na takie coś:
i wszytko działa jak powinno (IMG:style_emoticons/default/smile.gif) ------------ Mam jeszcze kilka drobnych pytań. Dał by ktoś gotowe komendy na pobieranie danych z bazy do tablicy zmiennej globalnej SESSION, oraz na wysyłanie? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Przecież chyba wiesz w jaki sposób pobierać dane z bazy?
więc nie powinno być problemem zastosowanie zwykłego podstawienia:
Swoją drogą hasła powinny być hashowane, przy tak dziurawym skrypcie prawdopodobieństwo wycieku jest bardzo duże, a to zawsze jakieś zabezpieczenie, przy zmianie hasła przyjęło się podawanie starego hasła w celu potwierdzenia, czy np. ktoś się nie zapomniał wylogować i po nim ktoś siada i mu zmienia hasło. Przydałoby się też sprawdzanie długości nowego hasła i ustalenie jakiegoś minimum znaków (np. 5). Spróbuj proszę zmienić hasło i w pole nowego hasła wpisać coś takiego: 1' DROP TABLE uzytkownicy -- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 16.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
wpisałem w hasło 1' DROP TABLE uzytkownicy --
to po prostu ustawiło mi takie hasło , tylko że się teraz na takie konto zalogować nie mogę (IMG:style_emoticons/default/smile.gif) musiałem w SQL wykonać
Postanowiłem uczyć się od podstaw, tutaj coś znalazlem: http://php.pl/phppl/Wortal/Artykuly/PHP/Po...anie-informacji jak myślicie to dobry tut? sposoby łączenia się z bazą danych preferowane przez autora tego kursu są mniej wygodne, od tych, które stosuje ja. próbowałem wyświetlić dane takim sposobem i oczywiście że nie działa bo to mój sposób (IMG:style_emoticons/default/smile.gif)
błąd Kod Resource id #5
Ten post edytował Th0e 3.10.2012, 12:24:11 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Zamiast spamować na forum lepiej weź do ręki porządną książkę traktującą o PHP, MySQL i podobnych. Ewentualnie jeżeli nie masz takowej poszukaj na necie tutoriali dla początkujących.
ps. mysql_fetch_* |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:20 |