Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][PDO] Czy potrzeba zabezpieczać zmienne, od użytkownika ?.
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć, mam taki kod:

  1. if(isset($_POST['username']))
  2. {
  3. $username = mysql_real_escape_string($_POST['username']);
  4. $zajety = $pdo -> prepare('SELECT id FROM `users` WHERE `login` = :login');
  5. $zajety -> bindValue(':login', $username, PDO::PARAM_STR);
  6. $zajety -> execute();
  7. $count = $zajety->rowCount();
  8. if($count > 0) {echo 'OK';}
  9. else {
  10. $lang = (empty($_SESSION['lang'])) ? 'pl' : $_SESSION['lang'];
  11. require('./Joker/language/'.$lang.'/logowanie.inc.php');
  12. $tpl = new \Joker\Tpl\Engine('./templates/');
  13. $view = $tpl->createView('logowanie_spr');
  14. $view->username = $username;
  15. $view->logowanie = $logowanie;
  16. $view->render();
  17. }
  18. $zajety -> closeCursor();
  19. }


I gdy go odpalam na localhost z PHP: 5.4.10 to działa normalnie, natomiast gdy go odpalę na serwerze gdzie jest PHP: 5.3.15 to jest błąd który znika jak usunę funkcję: mysql_real_escape_string();, ale czym zastąpić tą funkcję która zabezpieczała mi zmienne - A może PDO sam w sobie już posiada zabezpieczenie ?.

Pozdrawiam i z góry bardzo dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Giluś
post
Post #2





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Czyli wystarczy ustawiać tutaj:

  1. bindValue(':login', $username, PDO::PARAM_STR);
  2. // Lub...
  3. bindValue(':login', $username, PDO::PARAM_INT);

Czy nawet i to nie jest potrzebne ?
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: 5.10.2025 - 11:43