Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] strlen() nie działa jak należy
d.stp
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


1. Mam takie coś:
  1. if (strlen($_POST['username'] < 3) or strlen($_POST['username'] > 24) {
  2. $msg = 'Nazwa użytkownika nie może być mniejsza niż 3 znaki i większa niż 24 znaków!<br />';
  3. }

I wpisuje w formularzu jakąś nazwę, która ma np. 8 znaków i wyrzuca mi błąd co jest w $msg...

A jak wpiszę np. 111 (lub inne cyfry_ to już działa... dlaczego tak się dzieje?

2. Czy zabezpieczenie w stylu:

  1. strip_tags(htmlspecialchars($zmienna_z_formularza))


Uchroni mnie przed atakami xss i innymi?
Go to the top of the page
+Quote Post
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Przypatrz się dokładnie jaki argument przekazujesz do funkcji strlen.

Nie ma sensu dawać strip_tags po wykonaniu htmlspecialchars, bo < i > zamienią się na &lt; i &gt;
Go to the top of the page
+Quote Post
d.stp
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Faktycznie, nie zauważyłem tego (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


I zastanów się też czy nie potrzebujesz mb_strlen
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: 4.10.2025 - 13:20