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


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To co masz jest taką głupotą, że nie jestem w stanie zrozumieć nawet IDEI twojego podejścia...
  1. $int = $_POST['int']

Oczywiście po uprzednim sprawdzeniu czy taka wartość w poście istnieje


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post
Post #3





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

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


Cytat(wookieb @ 2.03.2011, 21:05:56 ) *
To co masz jest taką głupotą, że nie jestem w stanie zrozumieć nawet IDEI twojego podejścia...
To może pokaż, doktorze House, jak sam zabezpieczasz swoje skrypty przed SQL injection i ingerencją w html poprzez formularze. A jak nie jesteś w stanie ogarnąć tej idei to daruj sobie sarkazm bo oczekuje tutaj rady a nie słownych przepychanek.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Grzyw
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Nie szkoda Wam wieczoru na spięcia?smile.gif

Jeśli oczekiwana wartość jest liczbą całkowitą, walnij rzutowanie:
  1. $sprawdzona = (int)$_POST[liczba];
i masz problem SQL injection z głowy.

Ten post edytował Grzyw 2.03.2011, 23:52:12


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





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

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


Ok, intval lub rzutowanie dla liczb to rozumiem. Ale co jeśli to ma być string? Czego radzisz użyć oprócz/zamiast powyższych? Bo skoro używanie strip_tags czy mysql_real_escape_string jest czarną magią dla opiekuna to już nie wiem.

Ten post edytował sadistic_son 3.03.2011, 00:05:05


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Crozin
post
Post #6





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

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


Tak ciężko?
Temat: Bezpieczenstwo skryptow PHP
Temat: SQL Injection Insertion
Go to the top of the page
+Quote Post
Grzyw
post
Post #7





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


mysql_real_escape_string() wystarczy Ci w zupełności.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #8





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

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


Wiem Panowie, jestem zaznajomiony (w miarę) z tematem. Bardziej mi chodziło o to czy robi to jakąś różnicę w zależności od tego którą funkcję zastosujemy przed którą. Czyli dla przykładu czy zaleca się stosowanie jakiejś ustalonej kolejności, np. najpierw real_escape a potem inne, czyszczące z tagów czy na odwrót, czy jak?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #9





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Świetnie pytanie!
Osobiście bardzo wiele czasu spędziłem nad uporządkowaniem walidacji w taki sposób aby było

1. przede wszystkim bezpiecznie
2. czytelnie
3. wydajnie

walka między punkem 2 i 3 o priorytet trwa do dziś smile.gif

Wstępna walidacja wygląda u mnie następująco

nie pusty string:
  1. if ( ! isset($_POST['string']) OR ! is_string($_POST['string']) OR 0 === strlen($string = trim($_POST['string']))) {
  2. return false;
  3. }


na tym kończy się moja walidacja..
tagów html nie stripuje przed dodaniem do bazy, nie widze potrzeby..
a sql_escape_string robi dla mnie bibliteka obsługująca baze danych (active records)



Ten post edytował wNogachSpisz 3.03.2011, 02:00:57
Go to the top of the page
+Quote Post
Prezi2907
post
Post #10





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Jak dla mnie wyrażenia regularne spełniają wszelkie wymogi jeśli chodzi o drobne stringi oraz liczby... Dobrze obmyślana struktura wyrażeń regularnych jest po prostu nie do ominięcia. Z wyjątkami gdzie stosowane są nawiasy bądź inne znaki specjalne a wtedy już wystarczy mysql_real_escape_string() .

Jeśli chodzi o wydajność? Nie odczułem by jakikolwiek skrypt nawet przy wypełnianiu formularza o wartości 14-18 rekordów przy każdorazowym sprawdzaniu wyrażeń regularnych ucierpiał. różnica jakichś 0,0005s lub różnica jednego zera więcej... smile.gif
A to co napisałeś poniżej
  1. $int = intval(strip_tags(mysql_real_escape_string($_POST['int'])));


To konkretna bzdura wyssana z palca gdzie brak wiedzy o zabezpieczeniach przerósł aspiracje smile.gif
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #11





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Wyrażenia regularne cechuje mniejsza czytelnośc oraz mniejsza wydajność..
więc u mnie przegrywają na całej linii smile.gif
Oczywiście pojedyńcze wyrażenie będzie prawie na pewno szybsze od wywołania szeregu funkcji walidujących.
Osobiście wyrażenia regularne stosuje dopiero przy wnikliwej walidacji danych takich jak np. poprawność adresu email czy numeru konta bankowego.
Nigdy nie do walidacji np. inta.....

Za każdym razem jak słysze "oh, to przyśpieszy Twój skrypt tylko o 0,0002 sek" chce mi się płakać...
Takie argumentowanie jest bez sensu!
Prawidłowa odpowiedź brzmi: Jedno rozwiązanie jest 2x 4x 8x szybsze od innego.
I tyle, nie żadne 0,000005 sek, bo to totalnie nic nie mówi o wydajności.


Ten post edytował wNogachSpisz 3.03.2011, 02:15:03
Go to the top of the page
+Quote Post
Prezi2907
post
Post #12





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(wNogachSpisz @ 3.03.2011, 02:02:54 ) *
Wyrażenia regularne cechuje mniejsza czytelnośc oraz mniejsza wydajność..
więc u mnie przegrywają na całej linii smile.gif

Chce mi się śmiać za każdym razem jak słysze "oh, to przyśpieszy Twój skrypt tylko o 0,0002 sek".
Takie argumentowanie jest bez sensu.

Mnie intereują fakty, jedno rozwiązanie jest 2x 4x 8x szybsze od innego i tyle, nie żadne 0,000005 sek, bo to totalnie nic nie mówi o wydajności.

Mniejsza czytelność? heh nauka wyrażeń to jakieś 1-5h maks z pełnymi ich możliwościami... Jeżeli chodzi o czytelność... Jak już znasz składnie i możliwości to takie wyrażenia więcej mówią niż 5 funkcji zabezpieczających i do tego usuwających wszelkie niepowołane znaki na bezpieczne. Po drugie dzięki wyrażeniom regularnym (oraz javascript i ajax) możesz otrzymać bardzo interaktywne formularze po stronie klienta... A moje oznaczenie odnośnie wydajności to tylko wzmianka iż nie ma ono żadnego znaczenia przy nie stosowaniu i stosowaniu wyrażeń... No ale lenistwo to lenistwo... Każdy orze jak może smile.gif i umie smile.gif
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #13





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(Prezi2907 @ 3.03.2011, 02:10:59 ) *
Mniejsza czytelność? heh nauka wyrażeń to jakieś 1-5h maks z pełnymi ich możliwościami... Jeżeli chodzi o czytelność... Jak już znasz składnie i możliwości to takie wyrażenia więcej mówią niż 5 funkcji zabezpieczających i do tego usuwających wszelkie niepowołane znaki na bezpieczne. Po drugie dzięki wyrażeniom regularnym (oraz javascript i ajax) możesz otrzymać bardzo interaktywne formularze po stronie klienta... A moje oznaczenie odnośnie wydajności to tylko wzmianka iż nie ma ono żadnego znaczenia przy nie stosowaniu i stosowaniu wyrażeń... No ale lenistwo to lenistwo... Każdy orze jak może smile.gif i umie smile.gif


Pozostanę przy swoim jeśli chodzi o czytelność.
Czytając kod zawierający dużą ilość wyrażeń regularnych musisz poświęcić więcej czasu na zrozumienie całośc, dla mnie koszmar!
Stosując proste funkcje takie jak isset() is_int() is_numeric() is_bool() is_scalar(), ten problem nie występuje, rzucasz okiem i już wiesz co robi skrypt..

Dodatkowo nie wygłupisz się pisząć nieoptymalne wyrażenie powodujące przykładowo wiele tysięcy wycofań przy dopasowaniu co ubije wydajność, o podobne błędy jest łatwo...

Nauka wyrażeń regularnych z pewnością zajmie duużo więcej czasu niż kilka godzin.
Wysuwając podobne stwierdzenia ośmieszasz się i dajesz świadectwo swojej głębokiej niewiedzy.
U mnie na półeczce stoi sobie kilka książek na ten temat.
W kilka godzin możesz conajwyżej opanować podstawy...

Istnieje też potencjalne ryzyko bezpieczeństwa, konkretnie chodzi mi o modyfikator /e.
I jeszcze raz ta czytelność, elegancja kodu na punkcie której jestem absolutnym maniakiem smile.gif dla mnie kod poprzecinany wyrażeniami jest po prostu paskudnie brzydki..

Podsumowijąc, wyrażenia regularne to potężne i często niezastąpione narzędzie.
Jednak nie znam racjonalnego powodu aby stosować je przy podstawowej walidacji.

Ten post edytował wNogachSpisz 3.03.2011, 02:48:04
Go to the top of the page
+Quote Post
Prezi2907
post
Post #14





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(wNogachSpisz @ 3.03.2011, 02:28:45 ) *
Pozostane przy swoim jeżeli chodzi oczytelność.
Czytając kod naładowanymi wyrażeniami musisz poświęcić więcej czasu na zrozumienie co każde z nich tak na prawde robi, istny koszmar!
Przy stosowaniu prostych funkcji takich jak isset() is_int() is_numeric() is_bool() is_scalar(), ten problem nie występuje, rzucasz okiem i już wiesz o robi skrypt..
Dodatkowo nie wygłupisz się pisząć niezoptymalizowane wyrażenie powodujące przykładowo wiele tysiący wycofań co ubije wydajność, o podobne błędy jest łatwo...
Nauka wyrażeń regularnych zajmuje duużo więcej niż kilka godzin, w kilka godzin możesz conajwyżej opanować podstawy...
Istnieje też potencjalne ryzyko bezpieczeństwa, konkretnie chodzi mi o modyfikator /e.
No i ta czytalność, elegancja kodu, dla mnie kod poprzecinami wyrażeniami jest po prostu paskudnie brzydki..

Podsumowijąc, wyrażenia regularne to potężne i często niezastąpione narzędzie.
Jednak nie znam racjonalnego powodu aby stosować je przy podstawowej walidacji.


I tak jak pisałem... Zajęło mi to maks 5h... Jakoś nie wyobrażam sobie by siedzieć przy nich dłużej. Wyrażenia regularne mają dość istotny cel... Ale co do reszty Twojej wypowiedzi to sugeruje że nawet nie spojrzałeś w specyfikację wyrażeń. Widzisz ty stosujesz 5 funkcji których dobieranie może być uciążliwe a dzięki wyrażeniom mam możliwość napisania jednej uniwersalnej funkcji która wykona mi za jednym razem 1-20 sprawdzeń... fakt może zajmie z linijkę lub dwie ale efekt jest nieziemski i mogę sobie odpuścić prócz mysql_real_escape_string()( smile.gif dla pełnej pewności) inne funkcje. Tak zwany modyfikator /e jest najgłupszą i najprostszą sprawą do ominięcia ale to już zapraszam do lektury o wyrażeniach bo wcześniej czy później będziesz musiał ten "koszmar" przejść smile.gif. A co do podstawowej walidacji będziesz używał tych wszystkich funkcji ? smile.gif Wystarczy wymieniona przeze mnie tutaj smile.gif Na tym skończyłbym temat bo o elegancji kodu i samej estetyki pisania nie będę pisał... Piszę jak piszę i mam (z tego co widzę u innych) bardzo wygórowane wymogi odnośnie estetyki pisania. Samo wyrażenie można tak napisać że człowiek staje się dumny iż stworzył coś swojego, profesjonalnego tylko na swoje potrzeby. Ale to moje zdanie. Dobranoc smile.gif

Ps. Takie rozmowy są dobre bo chociaż można poczytać różne opinie, a jak pisałem każdy ustala sobie standard i rodzaj programowania. Nie można narzucać komuś swoich ideałów bo do tego zawodu łatwo się zrazić smile.gif
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #15





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cóż, powstrzymam się od komentarza..

Może tylko..

"You're talkin' a lot, but you're not sayin' anything."

:-]
Go to the top of the page
+Quote Post
hyhyhy
post
Post #16





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


A propos kolejności: ktoś ostatnio na tym forum mnie upomniał, żeby mysql_real_escape_string() rzucać zawsze na lewą stronę jako coś, po czym już nie będzie się grzebać innymi funkcjami, bo z tego mogą być problemy - przy czym tak jak mówię - "gdzieś tu zasłyszałem" i nie wiem czemu i po co smile.gif
Go to the top of the page
+Quote Post
thek
post
Post #17





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




Wyrażenia regularne to powinny być tylko do walidacji bardziej zaawansowanej. Do prostych takie funkcje jak ctype_* is_* czy rzutowanie lub konwersje, intval w zupełności wystarczą. Strzelać armatą do muchy chcesz? wink.gif Jak już wspomniano, wyrażenia to duży narzut wydajnościowy i ma sens tylko przy już bardziej złożonych operacjach zamiany czy rozpoznawania wzorca.

Mysql_real_escape_string powinna być tuż przed posłaniem do bazy, bo przygotowuje zmienną już do przechowania zabezpieczając ją zgodnie z ustawieniami bazy danych. Jeśli potem zaczniesz coś grzebać, to możesz znaki ucieczki choćby niechcący wywalić i zmienna staje się potencjalnie niebezpieczna.

Co do wyrażeń to w kilka godzin nauczysz się jedynie podstaw teoretycznych, ale gdy przyjdzie co do czego to polegniesz. Sam często się nad jakimś głowię jak ugryźć i nieraz bez posłużenia ciągiem kilku wyrażeń regularnych nie da rady. Ale to już najczęściej mocno nietypowe parsery pod konkretne działania.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Prezi2907
post
Post #18





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(thek @ 3.03.2011, 08:58:15 ) *
Wyrażenia regularne to powinny być tylko do walidacji bardziej zaawansowanej. Do prostych takie funkcje jak ctype_* is_* czy rzutowanie lub konwersje, intval w zupełności wystarczą. Strzelać armatą do muchy chcesz? wink.gif Jak już wspomniano, wyrażenia to duży narzut wydajnościowy i ma sens tylko przy już bardziej złożonych operacjach zamiany czy rozpoznawania wzorca.

Mysql_real_escape_string powinna być tuż przed posłaniem do bazy, bo przygotowuje zmienną już do przechowania zabezpieczając ją zgodnie z ustawieniami bazy danych. Jeśli potem zaczniesz coś grzebać, to możesz znaki ucieczki choćby niechcący wywalić i zmienna staje się potencjalnie niebezpieczna.

Co do wyrażeń to w kilka godzin nauczysz się jedynie podstaw teoretycznych, ale gdy przyjdzie co do czego to polegniesz. Sam często się nad jakimś głowię jak ugryźć i nieraz bez posłużenia ciągiem kilku wyrażeń regularnych nie da rady. Ale to już najczęściej mocno nietypowe parsery pod konkretne działania.


Resztę już omówiłem smile.gif Jedyne co mnie szokuje to że wyrażeni regularne sprawiają Ci taki problem... Fakt przez piewszą godzinę z książką o nich nie mogłem dobrze poskładać ale zrobiłem koło 30 takich wyrażeń to po chwili składałem już sobie linki które jak byś nie chciał musiały mieć takie wartości jak chciałem i żadnych dodatkowych info. Podstawy? Jakoś piszę po tych 5h spędzonych tylko na to dość zaawansowane wyrażenia jak pisałem wyżej i nie mam zamiaru więcej tego poruszać. Gila mnie to że tak powiem iż w to nie wierzysz... smile.gif Co do funkcji mysql to jest racja nic po niej nie powinno być... w końcu sama nazwa funkcji znaczy że jest to escape_string ... czyli wychodzący (wyjściowy) ciąg znaków...
Go to the top of the page
+Quote Post
thek
post
Post #19





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" 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ą.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
rasten
post
Post #20





Grupa: Zarejestrowani
Postów: 86
Pomógł: 6
Dołączył: 31.05.2010

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


Mam pytanko, jeśli ktoś używa Postgresql to czym można zastąpić funkcje mysql_real_escape_string?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 20.08.2025 - 13:04