Pokaż wyniki od 1 do 7 z 7

Wątek: PDO bezpieczeństwo

  1. #1
    Zarejestrowany
    Dołączył
    May 2008
    Posty
    327

    Domyślnie PDO bezpieczeństwo

    Witam,

    Czy jeśli użyję coś takiego
    Kod php:
    $user $pdo -> prepare('INSERT INTO `user` (`login`, `pass`, `email`)   VALUES(:login, :pass, :email)');

    $user -> bindValue(':login'$_POST['login'], PDO::PARAM_STR); 
    to czy używanie przed tym jakiś funkcji takich jak:htmlspecialchars() strip_tags() ma sens?? bo pisza ze PDO jest bezpieczne na sql-inject.

  2. #2
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    sql-inj polega na przechwyceniu calego zapytania w taki sposob ze zmieniamy jego strukture wprowadzajac nowy warunek lub go zmieniajac. htmlspecialchars() sluzy miedzy innymi do blokowania atakow typu XSS bo do sql-inj nie pomoze.

  3. #3
    Zarejestrowany
    Dołączył
    May 2008
    Posty
    327

    Domyślnie

    Cytat Zamieszczone przez karer Zobacz posta
    sql-inj polega na przechwyceniu calego zapytania w taki sposob ze zmieniamy jego strukture wprowadzajac nowy warunek lub go zmieniajac. htmlspecialchars() sluzy miedzy innymi do blokowania atakow typu XSS bo do sql-inj nie pomoze.
    a podpinanie parametrów pomoże??

  4. #4
    Grupa MmoCenter Awatar Kiri
    Dołączył
    Sep 2007
    Posty
    1,741

    Domyślnie

    Tylko vs sql-inj. Vs xss itp (js-owe czy html-owe) ataki już nie...
    Sio, nie pomagam via PM !



  5. #5
    Programista
    Dołączył
    Sep 2007
    Posty
    622

    Domyślnie

    A z kolei karer gada głupoty jak poparzony... SQL Injection polega na wstrzyknięciu kodu który modyfikuje zapytanie SQL tak jak chce tego atakujący. PDO podczas podpinania parametrów samo zadba o wyeskejpowanie danych.
    http://orodlin.pl/ - Orodlin.pl Team Member
    http://blog.albitos.eu - Albi's Jogger - Z pamiętnika młodego programisty
    http://wsosnowski.pl - wizytówka

    Mam do wynajęcia miejsce na serwerze dedykowanym. Ktoś zainteresowany?

  6. #6
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    Przeciez napisalem ze chodzi o przechwycenie zapytania poprzez zmodyfikowanie go. Jesli bylbys laskaw wskazac mi moj blad to bym sie ugial ale jak na razie czepiles sie mojej definicji ktora nie koliduje wcale z twoja :/

    Zanim zaczniesz negowac to pomysl co chcesz negowac.

  7. #7
    Zarejestrowany
    Dołączył
    Oct 2007
    Posty
    450

    Domyślnie

    A jeśli chodzi o główne pytanie:
    to tak, bindParam bindValue w sposób wystarczający chronią Twoje zapytanie przed sqj-inj.
    Najwygodniejsze jest to, że w razie potrzeby otaczają także wartości średnikami.

    Tylko niestety bindParam i bindValue nie działają na nazwy kolumn.

    Czyli czasem przydatne zapytanie typu
    Kod php:
    $query $db -> prepare('SELECT * FROM `tabela` WHERE :kolumna=:dane');
    $query -> bindParam(':kolumna', ..., ...); 
    Zwróci błąd. W takich przypadkach niestety PDO:repare średnio zdaje egzamin. Ale można to rozwiązać własną funkcją.
    Pierniki górą!

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Bezpieczeństwo Tworzonej Gry
    Przez mack w dziale Budowa gry via www
    Odpowiedzi: 12
    Ostatni post / autor: 31-05-2010, 10:33
  2. Bezpieczeństwo na arenie walk
    Przez Khulmar w dziale Poradniki do vallheru
    Odpowiedzi: 4
    Ostatni post / autor: 21-09-2009, 16:36
  3. Bezpieczeństwo
    Przez boosik01 w dziale PHP / MySql
    Odpowiedzi: 3
    Ostatni post / autor: 16-09-2009, 21:56
  4. Bezpieczeństwo
    Przez Imperator_Edi w dziale PHP / MySql
    Odpowiedzi: 3
    Ostatni post / autor: 03-06-2009, 18:43
  5. Bezpieczeństwo a poradnik tworzenia gier
    Przez Aven w dziale Bezpieczeństwo
    Odpowiedzi: 15
    Ostatni post / autor: 09-03-2008, 10:53

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •