Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> cookies a bezpieczeństwo BD, zapytania do bazy z cookiesów
Darti
post
Post #1





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


Tak sobie pomyślałem, że w sumie tak się boję tablic $_GET i $_POST a nie pomyślałem nigdy o cookiesach!

Czy istnieje realne zagrożenie dla bazy jak zrobię?:
  1. <?php
  2. mysql_query(&#092;"SELECT pass FROM users WHERE \".$_COOKIE['login']);
  3. ?>


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
Marusz
post
Post #2





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

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


Abstrachujac od samego uzycia kukizow w ten sposob (bo jakos srednio widze zastosowanie o bezpieczenstwie nie wspomne). Polecam zmienic ciut zapytanie, na:
  1. <?php
  2.  
  3. $sql = &#092;"SELECT `pass` FROM `users` WHERE `cos` = \". mysql_escape_string($zmienna) .\"\";
  4.  
  5. ?>

Wierz mi, bedziesz bezpieczniejszy...


--------------------
Go to the top of the page
+Quote Post
xarr
post
Post #3





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 5.12.2004

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


Hashuj md5() dane zapisywane w cookiesach i jak post wczesniej kolega wspomnial przed porownaniem uzyj mysql_escape_string() ewentualnie mysql_real_escape_string() wtedy zagrozenia dla bazy przynajmniej w kwestii tego zapytania nie uswiadczysz. Ogolnie jednak poszukaj na tym forum info o logowaniu, sesjach i ciastkach. Dowiesz sie napewno wystarczajco duzo by byc juz pewnym co zastosowac smile.gif
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cookiesy mozna wysylac DOWOLNE (tak jak dane get i postaz) -- decyduje o tym user, np w operze mozsz wyedytowac wartosc cookiesa, albo wyslac telnetem.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
phpbybastek
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.10.2004
Skąd: Wałcz

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


  1. <?php
  2. function filtruj_sql($input) {
  3. $reg = &#092;"(delete)|(update)|(union)|(insert)\";
  4. return(eregi_replace($reg, &#092;"\", $input));
  5. }
  6.  
  7. $zmienna = $_COOKIE['zmienna'];
  8.  
  9. $zmienna = filtruj_sql(mysql_escape_string($zmienna));
  10. $sql = &#092;"SELECT `pass` FROM users WHERE cos = '$zmienna'\";
  11. ?>

dla dopełnienia tematu
Go to the top of the page
+Quote Post
Kocurro
post
Post #6





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


powiem Ci tyle - był sobie pewien skrypt (CC) na którym opeirały sie wszystkie firmy GPTR (zarabianie poprzez klikanie w maile i czytanie reklam)...i pewnego dnia pojawił się ktoś kto zauważył, że cookies można zmienić jak się podoba - efekt tego był taki, że wiele osób straciło 'dorobek życia' w tych firmach a koleś ma teraz grubą kasę...

Dam Ci dobrą radę - jeśli chcesz cokolwiek przechowywać w ciasteczkach to tylko identyfikator sesji lub pseudo sesji (pseudo sesja - taka sesja, która trwa nieskończenie długo, używana do przechowywania informacji o autolofginach itp.) inaczej sam sobie napytasz biedy.

Bo np. czasami wystarczy zmienić trochę w cookie by już uzyskać dostęp na cudze konto itp. etc. itd.
Go to the top of the page
+Quote Post
Darti
post
Post #7





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


Dzięki smile.gif
będę stosował mysql_real_escape_string() tak jak mi radzicie (dla POST i GET to robilem ale dla cookies nie)

ps - Prometeus ja tak robię - w cookie mam tylko zapisany identyfikator sesji a reszte wyciagam z bazy

Ten post edytował Darti 17.03.2005, 14:04:02


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
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: 20.08.2025 - 20:23