Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sugerowana kolejność funkcji, Zabezpieczenie danych otrzymanych z formularza
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Słuchajcie, jakich funkcji używacie do zabezpieczenia danych z formularzy? I w jakiej kolejności? Dla np. danych, które powinny być liczbami stosuję coś w tym stylu:
  1. $int = intval(strip_tags(mysql_real_escape_string($_POST['int'])));
Interesuje mnie kolejność wykonywania tych funkcji. Są jakieś reguły, czy jest to bez różnicy czy najpierw strip_tags, potem mysql_real_escape_string itd. ?

Ten post edytował sadistic_son 2.03.2011, 21:02:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W takim razie musisz mieć z bardzo prostymi pod względem wzorca ciągami do czynienia. Ja choćbym się wysilał dostaję tak losowe ciągi do obróbki, że żaden wzorzec pojedynczy ich nie obejmie, nieważne z jakimi flagami, nieważne jak "cudowny". Składanie linków to po prostu śmiech na sali i zadanie na chwilę. Tyle ile trwa wymyślenie wzorca do linku, tyle moje parsery pracują by wszystkie dane przemielić.A i tak zanim dojda do etapu wyrażeń muszą być jeszcze wstępnie przetworzone, bo bez tego już byłby Armageddon. Teraz też mam właśnie zabawę z regexami. Router konwertujący stare url na nowe jako 301. Ile mi to zajmie? 5-10 minut włącznie z napisaniem kodu w czystym php? Znajomość regexpów to może i jest po 5 godzinach ale dobra ich znajomość to już o wiele dłuższy czas. Ja też mogę się chwalić bo regexpy zakumałem w mniej niż godzinę w ogromnym stopniu i co? A i tak są rzeczy, których ugryzienie nimi jest po prostu ciężkie i nawet najzmyślniejsze wyrażenie nie da rady, ponieważ uciekają one schematom popularnym i spotykanym powszechnie w necie.

Podam Ci prosty przykład takiego, którego pojedynczym nie ugryziesz. Określenie na podstawie jednego stringa czy użytkownik podał Ci w polu input typu text jako miejscowość faktycznie ją czy jakieś kombinacje typu: "Rurki koło Wąchocka" i to obrobić tak, by w bazie mieć to opisane jako Miejscowość: Rurki, Miejscowość sąsiednia: Wąchock i oczywiście całość ma być fleksyjnie poprawna. Załatw to jednym wyrażeniem "ekspercie od regexpów w 5h" (IMG:style_emoticons/default/wink.gif) Tutaj bez conajmniej kilkunastu preg_replaców nawet nie ma co podchodzić do tematu, bo każdy będzie się zajmował zupełnie innymi składowymi zadania. Są tematy, których nie przeskoczysz, nawet będąc mistrzem regexpów.

Dlatego wypowiadanie się z taką pewnością, że coś jest świetne i dziwne, że sprawia mi problem jest właśnie abstrakcją z Twojej strony. Skąd bowiem wiesz z jakimi problemami musiały u mnie regexpy się zmagać? Przykład powyżej choć prosty wystarczająco jasno pokazuje o co mi chodzi. Składanie linków a analiza tekstu z jego dzieleniem i poprawianiem pod kątem fleksyjnym to dwie zupełnie inne bajki. Tutaj musisz znać świetnie gramatykę języka dodatkowo by wiedzieć jak napisać i kiedy odpalić dane wyrażenie. Nadal chcesz się spierać, czy w końcu może przyznasz, że wyskoczyłeś trochę jak Filip z konopii? Regexpy są fajne, ale trzeba też wiedzieć kiedy je stosować i czy ma to sens, a pełna znajomość to więcej niż kilka godzin z dokumentacją.
Go to the top of the page
+Quote Post

Posty w temacie
- sadistic_son   [PHP]Sugerowana kolejność funkcji   2.03.2011, 21:01:15
- - wookieb   To co masz jest taką głupotą, że nie jestem w stan...   2.03.2011, 21:05:56
|- - sadistic_son   Cytat(wookieb @ 2.03.2011, 21:05:56 )...   2.03.2011, 23:38:48
- - Grzyw   Nie szkoda Wam wieczoru na spięcia? Jeśli oczekiw...   2.03.2011, 23:51:49
- - sadistic_son   Ok, intval lub rzutowanie dla liczb to rozumiem. A...   3.03.2011, 00:04:04
- - Crozin   Tak ciężko? Temat: Bezpieczenstwo skryptow PHP Tem...   3.03.2011, 00:11:30
- - Grzyw   mysql_real_escape_string() wystarczy Ci w zupełnoś...   3.03.2011, 00:14:38
- - sadistic_son   Wiem Panowie, jestem zaznajomiony (w miarę) z tema...   3.03.2011, 00:24:25
- - wNogachSpisz   Świetnie pytanie! Osobiście bardzo wiele czasu...   3.03.2011, 00:59:51
- - Prezi2907   Jak dla mnie wyrażenia regularne spełniają wszelki...   3.03.2011, 01:57:16
- - wNogachSpisz   Wyrażenia regularne cechuje mniejsza czytelnośc or...   3.03.2011, 02:02:54
|- - Prezi2907   Cytat(wNogachSpisz @ 3.03.2011, 02:02...   3.03.2011, 02:10:59
- - wNogachSpisz   Cytat(Prezi2907 @ 3.03.2011, 02:10:59...   3.03.2011, 02:28:45
|- - Prezi2907   Cytat(wNogachSpisz @ 3.03.2011, 02:28...   3.03.2011, 02:47:04
- - wNogachSpisz   Cóż, powstrzymam się od komentarza.. Może tylko.....   3.03.2011, 02:51:11
- - hyhyhy   A propos kolejności: ktoś ostatnio na tym forum mn...   3.03.2011, 06:47:05
- - thek   Wyrażenia regularne to powinny być tylko do walida...   3.03.2011, 08:58:15
|- - Prezi2907   Cytat(thek @ 3.03.2011, 08:58:15 ) Wy...   3.03.2011, 09:17:21
|- - fifi209   Cytat(thek @ 3.03.2011, 08:58:15 ) Wy...   3.03.2011, 14:12:43
- - thek   W takim razie musisz mieć z bardzo prostymi pod wz...   3.03.2011, 12:39:48
- - rasten   Mam pytanko, jeśli ktoś używa Postgresql to czym m...   3.03.2011, 13:11:30
- - Crozin   @rasten: Jest 2011: PDO Co do tych wyrażeń... się...   3.03.2011, 13:18:14
- - thek   @fifi209: tylko jeśli ktoś ma php5 na serwerze Je...   3.03.2011, 14:48:01
|- - fifi209   Cytat(thek @ 3.03.2011, 14:48:01 ) @f...   3.03.2011, 17:12:29
- - rasten   @Crozin, dzięki chyba się przerzucę na PDO, bo jes...   3.03.2011, 15:12:19
- - everth   fifi209 - są takie dziedziny w których zmiana czeg...   3.03.2011, 17:27:53
|- - fifi209   Cytat(everth @ 3.03.2011, 17:27:53 ) ...   3.03.2011, 17:45:43
- - thek   fifi209: nie zawsze się da. Jeśli masz działające ...   3.03.2011, 23:50:03


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: 14.10.2025 - 10:22