Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Walidacja zmiennych i ogolnie bezpieczenstwo skryptow
--marekk--
post
Post #1





Goście







Witam! Powoli się ucze PHP i MYSQL smile.gifsmile.gif Postanowaiłem spróbować napisac własny CMS. Trochę już napisałem i chciałem, żeby nie było błędów w skryptach.
Wrzucę tu kawałek kodu i napiszcie mi czy dobrze sprawdzam zmienne i czy jest to wystarczająco bezpieczne na każdy serwer - cms będzie wrzucany na serwy z różna konfiguracją.

  1. <?php
  2. function zapytanie ($tekst_zapytania)
  3. {
  4. if (!$idzapytania = mysql_query($tekst_zapytania))
  5. echo 'Bład zapytania MySQL, odpowiedĽ serwera: '.mysql_error();
  6.  
  7. return($idzapytania);
  8. }
  9.  
  10. function filtr_mysql ($zmienna)
  11. {
  12. $zmienna = stripslashes($zmienna);
  13. $zmienna = mysql_real_escape_string($zmienna);
  14.  
  15. return($zmienna);
  16. }
  17.  
  18. function filtr ($zmienna)
  19. {
  20. $zmienna = htmlspecialchars($zmienna);
  21. $zmienna = strip_tags($zmienna);
  22. $zmienna = addslashes($zmienna);
  23.  
  24. return($zmienna);
  25. }
  26. ?>


  1. <?php
  2. if (!isset($_GET['id']))
  3. $go = 1;
  4. else
  5. $go = filtr($_GET['id']);
  6.  
  7. if($go == 1) { //cos tam cos tam }
  8.  
  9. $idzapytania = zapytanie('SELECT `tekst` FROM `podstrony` WHERE `id`='.$go);
  10. $wiersz = mysql_fetch_row($idzapytania);
  11. echo $wiersz[0];
  12.  
  13. echo filtr($jakas_zmienna);
  14. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
--marek--
post
Post #2





Goście







ojj sorka smile.gifsmile.gif Drugie okienko z kodem powinno wyglądać tak:

  1. <?php
  2. if (!isset($_GET['id']))
  3. $go = 1;
  4. else
  5. $go = filtr($_GET['id']);
  6.  
  7. if($go == 1) { //cos tam cos tam }
  8. echo $go;
  9.  
  10. echo filtr($jakas_zmienna);
  11.  
  12.  
  13. $text_do_zapisu = filtr_mysql($_POST["text"]);
  14. $idzapytania = zapytanie('UPDATE `podstrony` SET `tekst` = "'.$text_do_zapisu.'" WHERE `id`='.$go);
  15.  
  16. $idzapytania = zapytanie('SELECT `tekst` FROM `podstrony` WHERE `id`='.$go);
  17. $wiersz = mysql_fetch_row($idzapytania);
  18. echo $wiersz[0];
  19. ?>
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2. function filtr ($zmienna)
  3. {
  4. $zmienna = htmlspecialchars($zmienna);
  5. $zmienna = strip_tags($zmienna);
  6. $zmienna = addslashes($zmienna);
  7.  
  8. return($zmienna);
  9. }
  10. ?>


to chyba powinno byc:

  1. <?php
  2. function filtr ($zmienna)
  3. {
  4. $zmienna = htmlspecialchars($zmienna);
  5. $zmienna = strip_tags($zmienna); // poza tym jak juz zamieniles znaki na htmlo'wskie (specialchars) to nei ma co wycinac
  6. if (!get_magic_quotes_gpc()) // zmiana
  7. $zmienna = addslashes($zmienna);
  8.  
  9. return($zmienna);
  10. }
  11. ?>


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
--marek--
post
Post #4





Goście







noo masz rację. A cos jeszcze ?
Go to the top of the page
+Quote Post
pyro
post
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


chyba nie tongue.gif można by doskonalić ale jest OK. Pytanie: w jakim edytorze to pisales?


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
--marek--
post
Post #6





Goście







pajączek, a czemu pytasz?
Go to the top of the page
+Quote Post
pyro
post
Post #7





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Ciekawość


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
--marek--
post
Post #8





Goście







W sumie to piszę tego cms tylko zeby sie nauczyć pisać w php i mysql:) Ale jednak wolałem mieć pewność że będzie zrobione w miare bezpiecznie smile.gifsmile.gif. dzieki za odpowiedz. snitch.gif
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: 19.08.2025 - 12:51