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 pozdrawiampozdro eLmO
GG:1408264 - 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! - 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 pozdrawiampozdro eLmO
GG:1408264 - 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" - 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).- oczywiście, masz rację , bwana 4/07/07 12:28
rdzewieję:-)"you don't need your smile when I cut
your throat"
- 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.- 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" - 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 - 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 |
|
|
|
|