Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] czy przy updacie mam w jakis sposob zabezpieczac dane czy nie ?
wiewiorek
post 26.05.2010, 17:39:32
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

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


jak robie update:
  1. public function updateStrona($id_strony, $tytul, $tresc)
  2. {
  3. $data = array(
  4. 'tytul' => $tytul,
  5. 'tresc' => $tresc,
  6. );
  7.  
  8. $this->update($data, 'id = '. (int)$id_strony);
  9. }


a dane w parametrach $id_strony, $tytul, $tresc pochodzą od użytkownika to mam je zabezpieczać przed atakami SQL injection czy nie ? Czy jest w takiej sytuacji automatyczna ochrona czy nie ?
Go to the top of the page
+Quote Post
zend
post 26.05.2010, 17:47:34
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


  1. $where['reported_by = ?'] = 'goofy';
  2. $where['bug_status = ?'] = 'OPEN';
  3. $n = $db->update('bugs', $data, $where);
korzystaj z takiego zapisu, zend zadba o bezpieczeństwo danych

update
Go to the top of the page
+Quote Post
wiewiorek
post 26.05.2010, 18:58:30
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

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


Ale mi nie chodzi o $where - to akurat wiadomo, że jest zabezpieczane przez zenda, bo widze '?' - znak zapytania - czyli parametryzacja zapytań. Chodzi mi o zmienną $data, a właściwie dane w tej tablicy. Co z nimi ?
Go to the top of the page
+Quote Post
zend
post 26.05.2010, 19:02:21
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


ZF zajmie się zabezpieczeniem ich, nie musisz się o to przejmować
Go to the top of the page
+Quote Post
wiewiorek
post 26.05.2010, 19:18:29
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

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


dzieki smile.gif
Go to the top of the page
+Quote Post
Pilsener
post 27.05.2010, 08:00:52
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Jeśli mogę coś dodać: po co Ci metoda, która tak naprawdę nic nie robi poza pośrednictwem (przekazuje zmienne z kontrolera do db_table)? Zamiast:
  1. $model->updateStrona($co,$gdzie);


Nie prościej:
  1. $model->update($co,$gdzie);
-?

O zabezpieczenie sql injection nie musisz się martwić, ale nie zwalnia Ciebie to z obowiązku filtrowania parametrów i danych wrzucanych do bazy (np. kodu HTML).
Go to the top of the page
+Quote Post
zend
post 27.05.2010, 09:03:31
Post #7





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


No tak, może, ale może oprócz tego kodu który nam pokazał ma jakąś inną logikę np usuwanie cache'u i trzyma ją w modelu, a nie chce nadpisywać metody update
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 20:10