![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak wygląda bezpieczeństwo w ZF - tak samo jak w zwykłym PHP trzeba kontrolować dane wprowadzane przez użytkownika do bazy danych ? A może funkcje ZF takie jak insert() czy update() mają już wbudowane mechanizmy bezpieczeństwa ?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Zend swoja biblioteke Zend_Db opiera o PDO, wiec jakies bezpieczenstwo jest. Mozesz takze walidowac dane formularzy poprzez Zend_Form.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Dane trzeba zawsze kontrolować. Ale ZF znacznie to ułatwia. Wspomniany wcześniej Zend_Db zabezpiecza dane przekazywane do bazy. Do tego dochodzi jeszcze Zend_Filter, który filtruje dane, Zend_Validate do walidacji danych oraz Zend_Captcha o wiadomym zastosowaniu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czyli stosując funkcje ZF: insert() czy update() nie muszę już korzystać z funkcji wstawiających \ przed podejrzanymi znakami ?
I drugie pytanie - zauwazylem czeste stosowanie w ZF z $this->escape() - czy ta funkcja usuwa znaki \ z danych pobieranych z bazy danych ? |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat Czyli stosując funkcje ZF: insert() czy update() nie muszę już korzystać z funkcji wstawiających \ przed podejrzanymi znakami ? Nie musisz. Zobacz jak to wygląda na przykładzie. Kluczem jest nazwa pola w tabeli, wartością dana, jaka będzie wstawiona do tabeli. Zend_Db zadba o bezpieczeństwo.Cytat I drugie pytanie - zauwazylem czeste stosowanie w ZF z $this->escape() - czy ta funkcja usuwa znaki \ z danych pobieranych z bazy danych ? To jest helper widoku, którego jeszcze nie używałem. Jakoś nie miałem potrzeby (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dokumentacja zaleca używanie tego helpera za każdym razem, jak wyświetla się dane, które pochodzą z niebezpiecznego źródła. Helper ten wykorzystuje funkcję htmlspecialchars do usuwania niebezpiecznych danych, jednak nic nie stoi na przeszkodzie, by napisać własny helper do zabezpieczenia danych. Poza tym helper escape można tak skonfigurować, by wykorzystywał inne funkcje. Wszytko znajdziesz w dokumentacji.Wracając do pytania. Funkcja ta nie usuwa znaków \ |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Nie. To nie jest bezpieczne. W przypadku select możesz użyć znaku zapytania w klauzuli where, a następnie przypisać do tego znaku zapytania odpowiednią zmienną. Dopiero wtedy będzie to bezpieczne. Więcej informacji znajdziesz w dokumentacji.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:47 |