Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpieczenie zmiennej z bazy danych w $_GET
renault12
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


Hej,

Jak mógłbym tak fachowo zabezpieczyć ten kod przed atakami? Przychodzi mi kilka rozwiązań na myśl ale chciałbym żeby był on odporny na wiele możliwych sposobów.

  1. <table width="100%">
  2. <?
  3. while($wynik = mysql_fetch_array($query)) {
  4. ?>
  5. <tr onclick="window.location='index.php?pokaz=profil&co=wiadomosci&mode=przychodzace&message=<? echo $wynik['id']; ?>">
  6. <td>Od: <? echo $wynik['user_id']; ?>, Temat: <b><? echo $wynik['temat']; ?></b></td><td align="right"> <? echo $wynik['data']; ?></td>
  7. </tr>
  8. <?
  9. }
  10. }
  11. ?>
  12. </table>
  13. <?
  14. $zapytanie = mysql_query("SELECT `wiadomosc` FROM `wiadomosci` WHERE `id` = '".$_GET['message']."'");
  15. ?>


Ten post edytował renault12 29.06.2011, 11:19:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Rochu
post
Post #2





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


polecam ten temacik: SQL Injection/Insertion, Jak zapobiec włamaniu na stronę.

a w skrocie:

  1. <?
  2. $_GET['message'] = mysql_real_escape_string($_GET['message']);
  3. $zapytanie = mysql_query("SELECT `wiadomosc` FROM `wiadomosci` WHERE `id` = '".$_GET['message']."'");
  4. ?>


----
teraz zauwazylem, ze $_GET['message'] odnosi sie do pola id, czyli jest liczba, najprosciej mozesz zabezpieczyc tak ta zmienna:
  1. $_GET['message'] = (int)$_GET['message'];


Ten post edytował Rochu 29.06.2011, 11:33:02
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 - 10:28