Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Czy ten kod jest bezpieczny?
Michal2451
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 4.12.2010

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


Cześć! Zrobiłem stronę z logowaniem, rejestracją i... rangami/uprawnieniami.
Przy każdym użytkowniku jest kolumna ranga.
1 = user
5 = mod
9 = admin

I teraz mam np. lewe menu:

  1. <?php include('config1.php');
  2.  
  3. if( ("$t[1]") == 1) {
  4. echo ' <div class="box">
  5. <h3>Panel</h3>
  6. <ul>
  7. <li><a href="#">Dodaj</a></li>
  8. <li><a href="#">Usuń</a></li>
  9. <li><a href="#">Zmień</a></li>
  10. <li><a href="#">Mój profil</a></li>
  11. <li><a href="logi.php">Logs/Newsy</a></li>
  12. </ul>
  13. </div>';
  14. } elseif( ("$t[1]") == 9) {
  15. echo ' <div class="box">
  16. <h3>Panel</h3>
  17. <ul>
  18. <li><a href="login.php">Logowanie</a></li>
  19. <li><a href="register.php">Rejestracja</a></li>
  20. <li><a href="logi.php">Logs/Newsy</a></li>
  21. <li><a href="#">Dodaj</a></li>
  22. <li><a href="#">Usuń</a></li>
  23. <li><a href="#">Zmień</a></li>
  24. <li><a href="#">Mój profil</a></li>
  25. </ul>
  26. </div>';
  27. echo ' <div class="box">
  28. <h3>Użytkownicy</h3>
  29. <ul>
  30. <li><a href="users.php">Zarejestrowani</a></li>
  31. <li><a href="znajdz.php">ZnajdĽ</a></li>
  32. <li><a href="usun.php">Usuń</a></li>
  33. <li><a href="edytuj.php">Ranga</a></li>
  34. </ul>
  35. </div>';
  36. } elseif( ("$t[1]") == 5) {
  37. echo ' <div class="box">
  38. <h3>Panel</h3>
  39. <ul>
  40. <li><a href="#">Strefa moderatora</a></li>
  41. <li><a href="#">Dodaj</a></li>
  42. <li><a href="#">Usuń</a></li>
  43. <li><a href="#">Zmień</a></li>
  44. <li><a href="#">Mój profil</a></li>
  45. <li><a href="logi.php">Logs/Newsy</a></li>
  46. </ul>
  47. </div>';
  48. } else {
  49. echo ' <div class="box">
  50. <h3>Panel</h3>
  51. <ul>
  52. <li><a href="login.php">Logowanie</a></li>
  53. <li><a href="register.php">Rejestracja</a></li>
  54. <li><a href="logi.php">Logs/Newsy</a></li>
  55. </ul>
  56. </div>';
  57. };
  58.  
  59.  
  60.  
  61.  
  62.  
  63. ?>


I plik config1.php:
  1. <?php include('login.php');
  2. $sql_conn = mysql_connect('xxx', 'xxx', 'xxx')
  3. or die('Błąd podczas łączenia z bazą danych');
  4.  
  5.  
  6. $zapytanie = "SELECT `login`,`ranga` FROM `users` WHERE `login`='$nazwa'";
  7. $idzapytania = mysql_query($zapytanie);
  8. $t = mysql_fetch_row($idzapytania);
  9. ?>

I kod zakładek dla odpowiednich osób:
  1. <?php include('config1.php');
  2.  
  3. if( ("$t[1]") == 9) {
  4.  
  5. Treść dla administratora
  6.  
  7. } else {
  8. echo '<center><BR><BR><BR>To nie miejsce dla ciebie...';
  9. echo '<meta http-equiv="refresh" content="1; url=index.php">';
  10. };
  11. ?>


Czy to jest bezpieczne? Tak żeby jakiś zwykły user nie mógł zobaczyć zakładek dla administratora oraz do nich wejść.

ps. ja jestem autorem kodu, żeby nie było, że kopiuję od kogoś (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował Michal2451 3.01.2011, 20:38:19
Go to the top of the page
+Quote Post
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

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


Podaj adres strony, to Ci zaraz pokaże jakie to jest bezpieczne.
Go to the top of the page
+Quote Post
daros17
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


Poczytaj o sql injection
Go to the top of the page
+Quote Post
Michal2451
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 4.12.2010

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


Niestety nie wdrożyłem jeszcze tego (IMG:style_emoticons/default/tongue.gif)

Ale jeśli to był sarkazm to mnie oświeć co chciałeś zrobić (IMG:style_emoticons/default/happy.gif)
Albo co byś robił, gdybyś chciał udowodnić, że to jest niebezpieczne (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
cojack
post
Post #5





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

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


$zapytanie = "SELECT `login`,`ranga` FROM `users` WHERE `login`='$nazwa'";

i w polu $nazwa byłoby =
"; 'DROP TABLE `login`;--":

amen.
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(Michal2451 @ 3.01.2011, 20:45:45 ) *
Niestety nie wdrożyłem jeszcze tego (IMG:style_emoticons/default/tongue.gif)

To po co się pytasz skoro nie znasz jakichkolwiek podstaw bezpieczeństwa?
http://forum.php.pl/index.php?showtopic=30...stwo+skrypt%F3w
I jeszcze jeszcze parę tematów o SQL injection na forum.
Go to the top of the page
+Quote Post
Michal2451
post
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 4.12.2010

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


Kto pyta nie błądzi, a fakt, że jestem początkujący wyjaśnia całą sprawę (IMG:style_emoticons/default/winksmiley.jpg)
A ten serwis jest do celów edukacyjnych.
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #8





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


PDO + prepared statements, tak na przyszłość. Do tego wywal te echa, zamknij tag PHP i normalnie pisz HTML.
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(Michal2451 @ 3.01.2011, 20:53:44 ) *
A ten serwis jest do celów edukacyjnych.

Edukacyjny nie znaczy, że za każdym razem będziemy powtarzać podstawy, które są na forum opisane.
Go to the top of the page
+Quote Post
Michal2451
post
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 4.12.2010

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


Napisałem to "tak tylko", żeby było wiadome, że się uczę.
Nie było to ważne i tym bardziej nie było warte twojej odpowiedzi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 21:41