![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym prosić o optymalizacje (a konkretnie rady co należałoby zmienić) kodu doświadczonych programistów
rejestracja.php
I największe moje pytanie, które już dawno chciałem zadać "Jak przypisać id użytkowników do sesji, obecnie loguję po nazwie użytkownika" tak:
To wszystko co potrafię w php mnie to wystarczy ale czy jest dobrze zoptymalizowane czy też można by coś dodać bądź zmienić to byłoby miło. Najbardziej jednak nurtuje mnie pytanie, które napisałem wyżej ![]() @kolejne z pytań: przy rejestracji jest tak, że dla kodu użytkownik Bellum i użytkownik bElLuM to inne osoby wystarczy inne hasło i email by się zarejestrować, ponad to przy logowaniu zamiast bElLuM mogę wpisać Bellum i hasło ale nie do Bellum tylko do bElLuM i się normalnie zaloguję, proszę o radę myślę, że chodzi tutaj o uwzględnianie wielkości liter. Ten post edytował Bellum 23.04.2011, 14:35:42 -------------------- C++ mie pokonało ale z PHP walczę jak mogę!
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
jeśli chodzi o bezpieczeństwo to
ja bym filtrował dane przesyłane z formularza np tak http://php.net/manual/pl/function.mysql-re...cape-string.php jak zapisać id użytkownika do sesji to jak sprawdzasz czy istnieje dany login i hasło tym zapytaniem to możesz pobrać id użytkownika i zapisać je do sesji |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
jeśli chodzi o bezpieczeństwo to ja bym filtrował dane przesyłane z formularza np tak http://php.net/manual/pl/function.mysql-re...cape-string.php jak zapisać id użytkownika do sesji to jak sprawdzasz czy istnieje dany login i hasło tym zapytaniem to możesz pobrać id użytkownika i zapisać je do sesji kadkub ale ja tego nie rozumiem właśnie, zmienna $user trzyma login a zapytanie do bazy danej idzie po zmiennej, później tą zmienną przekazuję do sesji. Powtarzam dla mnie php, jest trudne nie mam głowy, bardzo długo pisze skrypty, nienawidzę kopiować. Co muszę tu zrobić by to $id (które jakoś muszę przypisać do) do $user i zmienną $id przekazać do sesji, bo inaczej to po czym miałoby to identyfikować kto się loguję, przecież nie losowo? Ten post edytował Bellum 23.04.2011, 15:01:16 -------------------- C++ mie pokonało ale z PHP walczę jak mogę!
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tak więc:
Kod 1 1. Linie 57-61 Jak dla mnie nie potrzebne używanie dodatkowego wyrażenie regularnego. Jeśli sprawdzasz już hasło to potem to powtórzenie wystarczy sprawdzić czy jest takie samo jak to hasło. Jak hasło jest złe to co za różnica czy jego powtórzenie jest poprawne. A jak hasło jest poprawne to jeśli powtózenie jest takie samo to znaczy, że musi przejść to wyrażenie regularne. 2. Używanie eregi Niby działa, ale zgodnie z Manualem nie powinno się go już stosować: http://pl.php.net/eregi 3. #Sprawdzanie czy taki użytkownik już istnieje Nie za bardzo rozumiem czemu pobierasz listę wszystkich użytkowników, aby sprawdzić czy już taki istnieje. Przy małej ilości userów to nie ma zbytnio różnicy, ale przy dużej już jest to poważny błąd. Lepiej zastosować pytanie typu:
4. #Sprawdzanie czy taki email już istnieje To samo co powyżej ^^ 5. Linia 98 Zamiast wywoływać funkcje time() wcześniej możesz to zrobić w zapytaniu poprzez np. NOW() zamiast '$date' 6. Hasło Wprowadził bym jakieś minimalną długość hasła, bo teraz możesz mieć 1 znakowe ;> Kod 2 1. Tutaj bym nie sprawdzał czy hasło składa się tylko z liter i cyfr. Dlaczego? Bo i tak liczysz z tego sumę md5, więc nie ma za bardzo znaczenia czy to pole zawiera niebezpieczne znaki czy nie. Co do pytania: jeśli masz w bazie danych pole id to wystarczy, że je pobierzesz (a pobierasz bo korzystasz z *) i jak użyjesz funkcji np. http://pl.php.net/mysql_fetch_row to będziesz mógł pobrać to pole i przypisać do zmiennej. Ostatnie pytanie: Linię 33 w pierwszym kodzie zamień na: Pozdr, Valker |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
ok zrobię to po kolei ale dałeś mi kilka kodów, których jeszcze nie używałem i muszę się najpierw z nimi zapoznać w związku z czym mam pytanie. Dzięki za linię 33.
łeee? ![]() Co do id by przypisać do sesji:
![]()
Mózg już mi się lasuję nie mam cierpliwości, przerwa, kodowanie, dłuższe przerwy, kodowanie... DZIAŁA, takie małe błędy a tyle frustracji. Ten post edytował Bellum 23.04.2011, 16:23:01 -------------------- C++ mie pokonało ale z PHP walczę jak mogę!
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT count(user) AS cnt FROM user WHERE user = "<tutaj nick>" Nie, nie.. Wstawiasz tam nick pobrany z post'a, czyli $user. Co do drugiego pytanie nie wiem czym u ciebie jest zmienna $db i ciężko jest mi powiedzieć jak u ciebie pobierać rekordy z bazy danych ;D |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
Czy to tak ma wyglądać? w ogóle nie znam tego rodzaju zapytania ![]() -------------------- C++ mie pokonało ale z PHP walczę jak mogę!
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 5 Dołączył: 24.08.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie ;P
Spróbuj:
Ten post edytował Valker 23.04.2011, 17:03:58 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%) ![]() ![]() |
![]() ps: email też poprawiłem. ------------------------------------------------------------------ Podbijam z nowym pytaniem. Mam panel administracyjny, nazywa się ustawienia, po wejściu w niego wyświetla się spis użytkowników, jeżeli kliknę użytkownika, to jest tworzona jakbym wirtualna strona nie znam technicznego określenia posługuję się: Jeżeli zmienna $fid jest mniejsza od 1 to wyświetla się standardowa lista użytkowników. Natomiast: to wykonuję określoną akcję np: pokazuje dokładne dane użytkownika. Problem polega na tym a konkretnie brak mojego zrozumienia odnośnie w jaki sposób to zrobić i czy w ogóle się za to zabierać, że w menu widnieje odnośnik dodaj news. KOD USTAWIEŃ:
KOD NEWSA
Standardowo po wejściu w stawienia pojawia mi się lista użytkowników, po kliknięciu Dodaj news za pomocą switch wczytuje plik news.php i wszystko cacy, jednak, jeżeli chcę wejść w newsa i przypisać dodatkowe akcje nie tworząc plików dodatkowych, to nie mogę sobie go podczepić pod bo ten parametr wykonuje tylko dla użytkowników akcje, szukam rozwiązania by fid rozpoznawał czy jestem w news czy ustawieniach. Jeżeli jestem w news to parametr wyglądałby tak
A jeżeli jestem w ustawieniach standardowych i przeglądam dane użytkownika czyli wykonała się akcja jeżeli zmienna fid istnieje
CZYLI już konkretniej jak mogę wytłumaczyć chcę by ten parametr:
rozróżniał akcje ale nadal w jednym pliku. Pozdrawiam Ten post edytował Bellum 23.04.2011, 22:08:56 -------------------- C++ mie pokonało ale z PHP walczę jak mogę!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:57 |