Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Przetłumaczy ktoś?
Kubion70
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.06.2012

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


Witam!

Czy mógłby ktoś "przetłumaczyć" mi ten kod?

  1. FUNCTION getUser($id)
  2. {
  3. RETURN row("SELECT * FROM user WHERE id=$id");
  4. }
  5.  
  6. $user = getUser($_SESSION['id']);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
johny_s
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


chodzi Ci o sql'a czy php'a?
Go to the top of the page
+Quote Post
Kubion70
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.06.2012

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


Chodzi o ten zwrot tutaj oznaczony, gdyż podanie całego skryptu w tłumaczeniu zajęło by wam miesiące.
Go to the top of the page
+Quote Post
mikolaj51
post
Post #4





Grupa: Zarejestrowani
Postów: 59
Pomógł: 13
Dołączył: 16.03.2012

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


Witaj, funkcja ta:

  1. function getUser($id)
  2. {
  3. return row("SELECT * FROM user WHERE id=$id");
  4. }
  5.  
  6. $user = getUser($_SESSION['id']);


pobiera z bazy danych informacje o userze o danym id. W tym wypadku pobierze dane dotyczące obecnie zalogowanego użytkownika ($_SESSION['id'])
Go to the top of the page
+Quote Post
jaslanin
post
Post #5





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


funkcja getUser jako argument przyjmuje id użytkownika ($id) i zwraca wiersz z danymi użytkownika (prawdopodobnie jako tablica) który posiada dany identyfikator

funkcja row wynonuje zapytanie SQL do bazy i zwraca prawdopodobnie pojedynczy wiersz mu odpowiadający w postaci prawdopodobnie tablicy

na końcu do zmiennej $user jest przypisywana tablica o której wspomniałem powyżej

nie podajesz implementacji funkcji row więc można jedynie przypuszczać jak to konkretnie wygląda, dodatkowo zapytanie SQL w funkcji getUser jest podatne na SQL INJECTION


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
greycoffey
post
Post #6





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


@up: Napisz mi, jak byś wykonał SQL Injection wink.gif
Go to the top of the page
+Quote Post
peter13135
post
Post #7





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


http://srodek.info/blog/155/kilka-slow-o-sql-injection


wink.gif


--------------------
:)
Go to the top of the page
+Quote Post
jaslanin
post
Post #8





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


w tym akurat przypadku dane pobierane są z sesji, a nie bezpośrednio od użytkownika więc raczej to nie jest możliwe, nie zauważyłem wcześniej

Niemniej jednak za rok może ktoś spróbować użyć to w ten sposób

  1. getUser($_GET['id']);


i może być problem, ja po prostu wolę zamykać takie możliwości pomyłki od razu.

Ten post edytował jaslanin 19.06.2012, 06:03:53


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
greycoffey
post
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Jeśli id to int, najlepiej rzutować, w przeciwnym razie odpowiedni escape stringów. W bieżącej implementacji SQL Injection jest możliwe jedynie przez Session Poisoning.
Go to the top of the page
+Quote Post

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 Aktualny czas: 22.08.2025 - 05:01