Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Ament 08:23
 » Kenny 08:23
 » 247 08:22
 » DJopek 08:21
 » Zbyl 08:21
 » sofolok 08:17
 » adolphik 08:17
 » Hitman 08:16
 » Elektron 08:16
 » @GUTEK@ 08:15
 » okobar 08:13
 » Kelso1 08:03
 » Kenjiro 07:57
 » NimnuL 07:52
 » Emios 07:51
 » Gniew 07:49
 » Sebek 07:45
 » MayheM 07:43
 » Logic-3 07:41
 » Miron 07:38

 Dzisiaj przeczytano
 11307 postów,
 wczoraj 36197

 Szybkie ładowanie
 jest:
wyłączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

[PHP]:ksiega gosc - analiza stringu , elmo 4/07/07 10:41
Czesc. Dzieki Waszej pomocy napisalem juz prawie cala ksiege gosci.
Ładnie filtruje dane wejsciowe script_tags ALE mam jeszcze jedno pytanie:
Jak moge wyszukiwac slowa w poszczegolnym stringu ? Np:
Nie chce aby w mojej ksiedze ktos pisał o kotach wiec chcialbym sobie zdefiniowac kota jako slowa kluczowe. I jesli slowo/ slowa wystapia gdzies w stringu wejsciowym to wpis nie zostanie dodany do ksiegi gosci.

Chcialem to uzyc do wylapywania takich slow jak www http com @ itp

dzieki pozdrawiam

pozdro eLmO
GG:1408264

  1. wędka dla Pana , Grocal 4/07/07 10:50
    [ http://pl.php.net/...al/pl/function.preg-match.php ]
    [ http://pl.php.net/manual/pl/function.strpos.php ]

    Na pewno, na razie, w ogóle...
    Naprawdę, naprzeciwko, stąd...
    Ortografia nie gryzie!

  2. EXTRA , elmo 4/07/07 11:38
    dziekuje za pomoc.
    Gdyby ktos mial podobny problem przy pisaniu wlasnej ksiegi to znalazlem jeszcze inne rozwiazanie
    $warunek = strpos($tresc, 'www');
    if ($warunek === true) {
    exit;
    }
    to tez skutecznie blokuje. A najlepiej to w jakas funkcje wrzucic.

    dziekuje raz jeszcze i pozdrawiam

    pozdro eLmO
    GG:1408264

    1. nie jestem pewien, czy to zadziała , bwana 4/07/07 12:04
      operator tożsamości (===) sprawdza równość operandów I jednocześnie zgodność ich typów. przykładowo:

      '5'==5 --> true
      '5'===5 --> false

      Jako, że funkcja strpos zwraca wartość liczbową, zmienna $warunek nigdy nie będzie tożsamościowo równa true, bo ani true ani false nie należą do typu liczbowego.

      Niezbyt dobrym pomysłem jest też w tym przypadku sprawdzanie spełnialności niechcianego warunku i wyjście (exit) w przypadku jego spełnienia. Lepiej, jak sądzę, jest sprawdzić, czy niepożądany ciąg w treści NIE istnieje i jeżeli NIE istnieje, wykonać jakąś akcję (zapewne - dopisać treść do wpisów księgi gości).

      Ponadto walidacja treści pod kątem słów stopu (czyli zakazanych słów) powinna być funkcją postaci funkcja_sprawdzająca($tresc)-->boolean lub funkcja_sprawdzająca($tresc, $lista_slow_stopu)-->boolean. W takim przypadku warto pamiętać o przekazywaniu dużych argumentów wywołania przez referencję zamiast przez wartość.


      Nawiasem mówiąc, zmienna $warunek jest tu zbędna. Poprawny (uwzględniający uwagi o operatorze === i nadmiarowej zmiennej) zapis mógłby wyglądać tak:

      if (!strpos($tresc, 'www'))
      {
      //akcja, którą wykonujemy gdy treść jest DOPUSZCZONA
      }

      @pachura - założyć należy, że podany kod jest niewrażliwy na sql injection i xsite scripting, a to dlatego, że nie zawiera żadnych operacji wejścia wyjścia. Nie otwiera plików, urli, nie pobiera danych z formularza czy cookies. Ale zagadzam się, poza walorem edukacyjnym samodzielne pisanie tego typu funkcjonalności to wyważanie otwartych drzwi.

      "you don't need your smile when I cut
      your throat"

      1. Hmmm , pachura 4/07/07 12:21
        > Jako, że funkcja strpos zwraca wartość liczbową, zmienna $warunek nigdy nie będzie tożsamościowo równa true, bo ani true ani false nie należą do typu liczbowego.

        Nie, strpos() moze rowniez zwrocic FALSE kiedy substring nie zostal znaleziony. Czyli porownanie === FALSE ma jak najbardziej sens, === TRUE nie. W Twoim "poprawionym" przykladzie, warunek (!strpos($tresc, 'www')) przepusci tekst zaczynajacy sie od "www" (substring znaleziony na pozycji 0).

        1. oczywiście, masz rację , bwana 4/07/07 12:28
          rdzewieję:-)

          "you don't need your smile when I cut
          your throat"

  3. Powodzenia, ale... , pachura 4/07/07 11:45
    ...zawsze mnie to dziwi jak ludzie zabieraja sie za pisanie aplikacji nie wiedzac nawet jak operowac na typach podstawowych w danym jezyku ;) Nie wystawialbym takich skryptow w sieci w obawie przed szybkim shackowaniem (SQL injection, cross-site scripting etc.) Poza tym, dostepnych jest milion wypasionych freeware'owych ksiag gosci, konfigurowalnych, przeszukiwalnych, bekapowalnych, ze skinami, multi language etc. etc.

    1. hmm , Wedrowiec 4/07/07 11:57
      a jak ma się nauczyć korzystając z "wypasionych freeware'owych ksiag gosci, konfigurowalnych, przeszukiwalnych, bekapowalnych, ze skinami, multi language etc. etc."?

      "Widziałem podręczniki
      Gdzie jest czarno na białym
      Że jesteście po**bani"

    2. Jest tylko jedno "ale" , Norton 5/07/07 00:20
      Do kodu źródłowego wypasionych freeware'owych ksiag gosci, konfigurowalnych, przeszukiwalnych, bekapowalnych, ze skinami, multi language etc. etc. ma każdy. Jeśli nie pakujesz własnych skryptów ze względu na zagrożenie włamaniem to jakie wrzucasz? Bazujesz jedynie na tym co znajdziesz w sieci i do czego ma dostęp każdy? Chyba nie tędy droga.

      Zmień swój podpis na Boardzie
      maks 100 znaków, 3 linie,
      zabroniony spam oraz reklama

      1. Z drugiej strony, , pachura 5/07/07 08:21
        wypasione freeware'owe... sa zwykle lepiej przetestowana pod kontem bezpieczenstwa (i przez tworcow, i przez uzytkownikow), niz kod kogos kto ma problemy z wyszukaniem substringa w stringu. Chociaz masz racje, szansa ze komus bedzie sie chcialo hackowac ksiege gosci kolegi Elma, jak zle by nie byla napisana, jest niewielka.

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL