Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Usuwanie niechcianych znaczników <?php oraz ?> wpisanych do textarea
sadistic_son
post 1.07.2009, 18:06:30
Post #1





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

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


Witam,

Jest sobie textarea w htmlu. Jak zabezpieczyc sie przed pewna inwazja, zlosliwoscia lub niewiedza userow dotyczaca tresci tego textarea. Mianowicie jesli user wpisze w polu '1234<? 567 ?>89' to zostanie wyswietlone tylko '123489'. Ale to jeszcze nie tragedia. Gorzej jesli w textarea wpisze sie cos co po wyswietleniu (zczytaniu $_POST['textarea'] do zmiennej) moze popsuc dzialanie kodu.
Uzylem juz strip_tags(); ale to usuwa tylko tagi html, a co z phpowymi? Jest taka funkcja?
Albo jeszcze lepiej zeby kazdy znak uzywany w php jakos 'unieszkodliwic'.

Dzieki z gory.


--------------------
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
sadistic_son
post 1.07.2009, 18:31:39
Post #2





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

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


Dzieki za szybka odpowiedz ale ta funkcja nie dziala worriedsmiley.gif

A szczerze mowiac bledu znalezc nie moge. Cos jest nie tak z " albo z ' ale nie wiem co.


--------------------
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
erix
post 1.07.2009, 20:11:22
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Bo to wyrwany kod z kontekstu. ;]

Zobacz przyklejony temat o bezpieczeństwie skryptów, tam jest wszystko, czego potrzebujesz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
sadistic_son
post 1.07.2009, 21:52:09
Post #4





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

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


przbrnąłem przez 10 stron 'bezpieczenstwa skryptów' i niestety nie jestem wciąż usatysfakcjonowany. Owszem sporo tam przydatnych informacji jak GETa zabezpieczyc itp. ale mi chodzi o coś innego.


Inaczej to wyjaśnie, może prościej: Potrzebuje funkcji która uczyni zawartość inputa 'głupoto-odpornym'.
Jeśli w polu <input type="text" name="temat"> lub <textarea name="wypowiedz"> ktoś wpisze np. "jakis temat, jakas<? wypowiedz ?> blabla bla". To $_POST['wypowiedz'] albo $_POST['temat'] beda przyjmowaly wartość stirngu "jakis temat, jakas blabla bla".


Tak więc chodzi mi o to, żeby tak 'obrobić' zawartość tego $_POSTa aby echo $_POST['wypowiedz'] wyświetliło dokładnie to co wpisał user ale nie namieszało w kodzie. Chodzi mi tylko o znaczniki php a nie html.


No i oczywiście nie chodzi mi tylko o same <? ?> , ale równierz o inną potencjalnie niebezpieczną składnię php która nie powinna się znaleźć wewnątrz zmiennej $_POST i winna zostać "unieszkodliwiona" zanim zmienna zostanie poddana obróbce przez dalsze funkcje, mysqla i echo.

Ciężko przewidzieć co wpisze user i tworzenie funkcji podmieniającej np. <? na />? nie ma sensu ponieważ to tylko kropla w morzu tego co ktoś może wpisać do inputa.



PS. Mogłem coś przeoczyć w 'bezpieczenstwie skryptow' i jesli tak to przosze o jakas wskazowke.
THX.

Ten post edytował sadistic_son 1.07.2009, 22:00:41


--------------------
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
guilty82
post 1.07.2009, 22:02:50
Post #5





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


moze htmlspecialchars?
Go to the top of the page
+Quote Post
potreb
post 1.07.2009, 22:33:46
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Szukasz igły w stogu siana??
Napisz prosty handler, który będzie przepuszczał jedynie te funkcje, które uznasz za właściwe.

preg_replace" title="Zobacz w manualu PHP" target="_manual


--------------------

Go to the top of the page
+Quote Post
wr24
post 1.07.2009, 23:07:44
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 29.06.2009

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


dobrym rozwiazaniem jest html purifier miedzy innymi czysci przeslany kod z ww zankow http://htmlpurifier.org/


--------------------
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 3.07.2025 - 10:16