Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenia skryptów PHP, mysql_real_escape_string(); i inne tego typu...
modern-web
post
Post #1





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Witam wszystkich!
Ostatnio poczytałem bardzo dużo na temat SQL Injection oraz innych tego typu atakach.

Posiadam przykładowy skrypt:

  1. $abc = trim($_POST['abc']);


I moje pytania są następujące:

1. Jest on poprawny?
2. Jeśli tak to jak można dodatkowo zabezpieczyć zapytania do baz danych/formularze itp...
3. Jeśli nie to proszę o jakiś zamiennik lub wskazanie błędu (IMG:style_emoticons/default/smile.gif)

Z góry dzięki za pomoc.
Pozdrawiam.


P.S.
Przepraszam jeśli temat się powtarza, ale nigdzie nie znalazłem podobnej sytuacji do tej, w której się znajduję.

Ten post edytował modern-web 29.10.2010, 16:16:20
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


nie, nie jest poprawny, bo żeby przefiltrować dane funkcją mysql_real... musisz nawiązać połączenie (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Temat: Bezpieczenstwo skryptow PHP

btw: jest 2010... użyj PDO zamiast katować się z mysql_*().
Go to the top of the page
+Quote Post
modern-web
post
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


No dobrze...
Rozumiem, że mam przekształcać wszystkie skrypty na bibliotekę PDO (IMG:style_emoticons/default/sciana.gif) ?

Ten post edytował modern-web 29.10.2010, 16:46:03
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #5





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Jeśli nie są zbyt skomplikowane i mózg ci przy tym nie wybuchnie to tak, przydałoby się.
Ale o ile działają i są bezpieczne to nie trzeba.
Go to the top of the page
+Quote Post
modern-web
post
Post #6





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


O mnie nie masz się co martwić (IMG:style_emoticons/default/winksmiley.jpg)
Skrypty nie są łatwe. Prace nad nimi trwały 5 miesięcy.
W sumie jest to 7512 plików.

Ale fragmenty, które wymagają zabezpieczenia znajdują się w +- 10 plikach.
W związku z powyższym pytam się Was - ekspertów, jak mogę wywalić znaki specjalne ()<>'"/\{} itp. z formularza tak by nie szło wstrzyknąć własnego kodu.

Prosiłbym o przykład, który by mi to zilustrował - mysql_real_escape_string() / mysql_escape_string / ...
Oczywiście jestem otwarty na inne propozycje...

Pozdrawiam.

Ten post edytował modern-web 29.10.2010, 22:54:15
Go to the top of the page
+Quote Post
konrados
post
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Użyj jeszcze htmlspecialchars, bo mysql_real_escape_string nic nie zrobi ze znaczkami < oraz >.
Ale to możesz robić przed wypluciem na ekran, niekoniecznie przed dodawaniem do bazy danych.
Go to the top of the page
+Quote Post
jang
post
Post #8





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


Cytat(modern-web @ 29.10.2010, 23:48:42 ) *
z formularza tak by nie szło wstrzyknąć własnego kodu.

Możesz sobie "wyczyścić" wszystko przy pomocy np. http://dev.kohanaframework.org/projects/ko...aries/Input.php
albo z w/w tylko :
  1. 367 public function xss_clean($data, $tool = NULL)
Go to the top of the page
+Quote Post
kilas88
post
Post #9





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

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


http://php.net/manual/pl/book.filter.php

btw.
http://dev.kohanaframework.org/projects/ko...aries/Input.php
nieźle - setka wyrażeń regularnych, odwołania do HTML Purifier (który składa się z kilkuset plików / setek wyrażeń), etc - to rozwiązanie musi być bardzo wolne, niemniej na pewno bezpieczne. pokazuje to tylko, jak bardzo warto zacząć korzystać z PDO i prepared statements / stored procedures gdzie tylko możemy.
Go to the top of the page
+Quote Post
jang
post
Post #10





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


Cytat(kilas88 @ 30.10.2010, 01:37:51 ) *
btw.
http://dev.kohanaframework.org/projects/ko...aries/Input.php
nieźle - setka wyrażeń regularnych, odwołania do HTML Purifier (który składa się z kilkuset plików / setek wyrażeń), etc - to rozwiązanie musi być bardzo wolne, niemniej na pewno bezpieczne. pokazuje to tylko, jak bardzo warto zacząć korzystać z PDO i prepared statements / stored procedures gdzie tylko możemy.

@kilas88 nie jestem zwolennikiem kohany a więc to nie wojna polsko-polska (IMG:style_emoticons/default/smile.gif) ale
1. nie setka wyrażeń regularnych a 10% z tego co podałeś
2. "odwołania do HTML Purifier" - aby skorzystać z HTML Purifier to musisz tego chcieć a więc
musiałbyś
  1. $input->xss_clean($suspect_input, 'htmlpurifier');
a wystarczy
  1. $input->xss_clean($suspect_input);
Go to the top of the page
+Quote Post
modern-web
post
Post #11





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Macie jeszcze kilka pomysłów?
Oczywiście pomijając ograniczenie z nieskończoności do np. 15 znaków. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:21