Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Problem z Magic Quotes
CryWolf
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


  1. <?php
  2. if (isset($_POST['acceptedreg']) AND $_POST['acceptedreg'] == 1) {
  3. if ( empty($_POST['wpisanyloginreg']) || empty($_POST['wpisanehasloreg']) || empty($_POST['wpisanyemailreg']) || empty($_POST['wpisanaplecreg']) ) { echo '<b>Nie wypełniłeś wszystkich pól!</b>'; $_POST['acceptedreg'] = 0; }
  4. else {
  5. //check open i insert open
  6.  
  7. { $wlogin = addslashes(htmlspecialchars($_POST['wpisanyloginreg']));
  8.  $whaslo = addslashes(htmlspecialchars($_POST['wpisanehasloreg'])); 
  9.  $wemail = addslashes(htmlspecialchars($_POST['wpisanyemailreg']));  }
  10. else
  11. { $wlogin = htmlspecialchars($_POST['wpisanyloginreg']);
  12.  $whaslo = htmlspecialchars($_POST['wpisanehasloreg']);
  13.  $wemail = htmlspecialchars($_POST['wpisanyemailreg']);  }
  14.  $wplec = $_POST['wpisanaplecreg'];
  15.  
  16.  
  17. $checklogin = mysql_query("SELECT id FROM users WHERE login = '$wlogin'"); 
  18. $logincheck = mysql_num_rows($checklogin);
  19. $checkemail = mysql_query("SELECT id FROM users WHERE email = '$wemail'"); 
  20. $emailcheck = mysql_num_rows($checkemail);
  21. echo '<table border="0">';
  22.  if ($logincheck == 1) { echo '<td>- Konto o takim loginie już istnieje. Wybierz inny login.</td><tr>'; }
  23.  if ($emailcheck == 1) { echo '<td>- Konto o takim emailu już istnieje. Wpisz inny email.</td>'; }
  24. if ($logincheck == 1 OR $emailcheck == 1) { echo '<meta http-equiv="refresh" content="5;url=rejestracja.php"/>'; } else 
  25.  
  26. { 
  27. $databaza= date('H:i/d/m/y');
  28. mysql_query("INSERT INTO users VALUES ('','$wlogin','$whaslo', '$wemail', '$wplec', 'n$databaza', '0')");
  29. echo "Zostałeś poprawnie zarejestrowany!<br>Twoje hasło to: <b>$whaslo</b>.<br>Możesz się zalogować w formularzu u góry."; 
  30. }
  31.  
  32. echo '</table>';
  33. //check close i insert close
  34. }
  35. }
  36.  
  37. if (!isset($_POST['acceptedreg']) || $_POST['acceptedreg'] == 0) {
  38.  echo '<table border="0"><form method="POST"> 
  39.  <td width="120"> Login:</td><td width="90"><input type="text" name="wpisanyloginreg" maxlength="10"> </td><tr>
  40.  <td> Hasło:</td><td><input type="text" name="wpisanehasloreg" maxlength="10"> </td><tr>
  41.  <td> Email:</td><td><input type="text" name="wpisanyemailreg" maxlength="25"> </td><tr>
  42.  <td> Płeć:</td><td><select name="wpisanaplecreg"> 
  43.  <option value="1">Kobieta</option>
  44.  <option value="2">Mężczyzna</option>
  45.  <input type="hidden" name="acceptedreg" value="1"> </td><tr>
  46.  <td colspan="2"><center><input type="submit" value="Zarejestruj"><h5>*Po przyciśnięciu "Zarejestruj"<br>wyświetli się Twoje hasło!</h5></td>
  47.  
  48. </form></table>'; 
  49. }
  50. ?>


Jest to mój skrypt rejestracji. Wszystko działa jak należy, nie ma błędów itp. Chodzi tylko o to, że nie wiem czy dobrze zrobione są te magic quotesy. Wpiszę w login i pass np. haslo'' to potem po kliknięciu Submita jest napisane, że Twoje hasło to: haslo\'\' i tak chyba powinno to wyglądać, ale po chwili dodawane jest to do bazy i tam dodaje się jako haslo'' bez tych backslashów. Następnie przy zalogowaniu jak wpiszę haslo'' to mnie zaloguje. Login i Pass oczywiście są takie same. Tak więc nie wiem jak zrobić aby to naprawić. Ktoś wpisze to coś od sql injection w rejestracji a potem przy logowaniu skrypt nie zabezpieczy się tymi addslashami czy coś, przynajmniej ja tak to widzę. Z góry dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Maxik
post
Post #2





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


stripslashes wywala backslashe, jeśli o to Ci chodzi.

Ten post edytował Maxik 12.07.2008, 14:35:17
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 21:24