Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sql injection - problem z działaniem
Forum PHP.pl > Forum > Przedszkole
Majzel
plik test.php
  1. <form method="POST" action="skrypt.php">
  2. Login: <input type="text" name="login"><br>
  3. Hasło: <input type="text" name="haslo"><br>
  4. <input type="submit" value="Zaloguj się"><br>
  5. </form>

skrypt.php
  1. <?php
  2. $haslo = $_POST['haslo'];
  3. $login = $_POST['login'];
  4. mysql_connect('localhost','root','')
  5.    or die('Nieudane połączenie');
  6.  
  7.    or die('Nieudane wybranie bazy');
  8. $q = mysql_query("select * from testy where (login='$login') and (haslo='$haslo')");
  9. $rows = mysql_num_rows($q);
  10. if ($rows > 0) {
  11.    echo 'Jesteś adminem!';
  12.    }
  13.  
  14. else {
  15.    echo 'Nie jesteś adminem!';
  16.    }
  17.    ?>


po wpisaniu magicznego kodu ' OR '1'='1 w pole input w hasle zonk, nie działa, dlaczego? pokazuje ze nie jestem adminem,a nie mam zadnych zabezpieczen wiec powinno pisac ze jestem, dlaczego nie działa?
bełdzio
dopiero co było => wylacz magic_quotes_gpc w konfigu PHP
Majzel
dzięki, głupio mi pytać ale mam znowu problem, mam takie proste zapytanie sql:
  1. SELECT *
  2. FROM testy WHERE (
  3. login = 'test' AND haslo = 'bla' AND '1' = '2'
  4. ) OR DELETE FROM testy;


i wyskakuje błąd mysql'a #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM testy' at line 7
a powinien usunąć tabele testy
Proszę o pomoc.
bełdzio
w mySQL można wykonać tylko jedno zapytanie na raz
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.