Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Bezpieczeństwo skryptu
Forum PHP.pl > Forum > PHP
Snap
Witam. Napisałem taki skrypt.
Czy on jest bezpieczny questionmark.gif
  1. <?php
  2. $errors = 0;
  3.  
  4. if (
  5. empty($aaa) or 
  6. empty($bbb) or 
  7. empty($ccc) or 
  8. empty($ddd)
  9. {
  10. echo 'Wypelnij wszystkie pola<br />';
  11. $errors = 1;
  12. } 
  13.  
  14. $exist_topsite = mysql_query("SELECT 1 FROM test WHERE Test22 ='".$aaa."'");
  15.  
  16. if (== mysql_num_rows($bbb))
  17. {
  18. echo 'Topka o wybranej nazwie nie istnieje<br />';
  19. $errors = 1;
  20. }
  21.  
  22. if (!empty($ccc) and !preg_match('@^http://.*.(jpg|gif)$@i', $ccc))
  23. {
  24. echo 'Adres loga musi zaczynać się od http:// i logo musi być rozszerzenia jpg, gif<br />';
  25.  
  26. $errors = 1;
  27.  
  28. }
  29.  
  30. if (!empty($ddd) and !preg_match('@^http://.*.(jpg|gif|png)$@i', $ddd))
  31. {
  32. echo 'Adres buttona musi zaczynać się od http:// i logo musi być rozszerzenia jpg, gif lub png<br />';
  33.  
  34. $errors = 1;
  35.  
  36. }
  37.  
  38.  
  39. if (strpos($eee, "@") == false)
  40. {
  41. echo 'Podaj poprawny email<br />';
  42. $errors = 1;
  43. }
  44. if (strcmp($fff, $ggg) != 0)
  45. {
  46. echo 'Zle wpisane potwierdzenie hasla<br />';
  47. $errors = 1;
  48. } 
  49.  
  50. if (== $errors)
  51. {
  52. mysql_query("UPDATE ".$aaa."_test SET test4 = '".$iii."'");
  53.  
  54. if (empty($passwd))
  55. {
  56. mysql_query("UPDATE test SET test1 = '".$aaa."', test3 = '".$ccc."'");
  57. }
  58. else 
  59. {
  60. mysql_query("UPDATE test SET test1 = '".$aaa."', test3 = MD5('".$ggg."'), test2 = '".$ccc."'");
  61. }
  62.  
  63. if (== mysql_affected_rows())
  64. {
  65. echo "<br /><center><h2><font color=green>OK</font></h2></center><br />";
  66. $edited = 1;
  67. }
  68.  else
  69. {
  70. echo "<br /><center><h2><font color=red>Error</font></h2><br /></center>";
  71. $edited = 0;
  72. } 
  73.  
  74. }
  75. else 
  76. {
  77. $edited = 0;
  78. }
  79.  
  80.  
  81. ?>


Prosze o pomoc w zabezpieczeniu skryptu. Na serwerze mam włączone magic quote...
szagi3891
Temat: SQL Injection Insertion

sugerował bym przejrzenie tego tematu gdyż zostało tam powiedziane dużo fajnych rzeczy smile.gif ja osobiście filtruje apostrofy z każdej danej wprowadzanej do strony za pomocą skryptu i w zapytaniach zamykam je w cudzysłowy. Myślę że to powinno wystarczyć. Jak ktoś coś niecnego wrzucić jako daną wejściową to wtedy zostanie wygenerowane błędne zapytanie i będę widział tą informację w logach strony.
misiek172
musisz jeszcze dodać usuwanie TAGów taki jak JS bo wtedy ktoś sobie wpisze <script>...</script> w miejsce ... w pisze skrypt który może ci np pousuwać wszystko na serwie i takie tam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.