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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No to musi być. To się nazywa bindowanie i dzieki temu nie musisz robić już nic więcej
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(nospor @ 6.02.2013, 09:55:03 ) *
No to musi być. To się nazywa bindowanie i dzieki temu nie musisz robić już nic więcej

Nie szalej, bo jeszcze uwierzy (IMG:style_emoticons/default/wink.gif)
Walidacja danych musi przebiegać zawsze, gdy odbierasz ją od użytkownika. Bez znaczenia czy używasz PDO czy nie.

Swoją drogą, jak to możliwe że na PHP 5.4 nie wywala błędu? Włączyłeś ich widoczność?

I poczytaj to http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO

Ten post edytował !*! 6.02.2013, 10:11:42
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: 4.10.2025 - 12:32